diff --git a/lib/pip.js b/lib/pip.js index 3e46fcc5..1edac201 100644 --- a/lib/pip.js +++ b/lib/pip.js @@ -7,9 +7,10 @@ const {spawnSync} = require('child_process'); * @return {Promise} */ function installRequirements() { + const dotSlsReqs = '.serverless/requirements.txt'; let fileName = this.options.fileName; if (this.options.usePipenv && fse.existsSync(path.join(this.servicePath, 'Pipfile'))) { - fileName = '.serverless/requirements.txt'; + fileName = dotSlsReqs; } if (!fse.existsSync(path.join(this.servicePath, fileName))) @@ -38,6 +39,11 @@ function installRequirements() { pipCmd.push('--system'); } if (this.options.dockerizePip) { + // In case the requirements file is a symlink, copy it to .serverless/requirements.txt + if (fileName !== dotSlsReqs) { + fse.copySync(fileName, dotSlsReqs); + fileName = dotSlsReqs; + } cmd = 'docker'; this.serverless.cli.log(`Docker Image: ${this.options.dockerImage}`);