serverless-python-requirements: Poetry: missing .serverless/requirements.txt
Using poetry, normal pyproject.toml file and poetry.lock. Version 5.1.0.
sls package gives me:
Serverless: Invoke package
Serverless: Invoke aws:common:validate
Serverless: Invoke aws:common:cleanupTempDir
Error --------------------------------------------------
Error: ENOENT: no such file or directory, open '/Users/cyber/dev/jb/project/.serverless/requirements.txt'
at Object.openSync (fs.js:439:3)
at Object.readFileSync (fs.js:344:35)
at getRequirements (/Users/cyber/dev/jb/project/node_modules/serverless-python-requirements/lib/pip.js:354:6)
at filterRequirementsFile (/Users/cyber/dev/jb/project/node_modules/serverless-python-requirements/lib/pip.js:381:24)
at generateRequirementsFile (/Users/cyber/dev/jb/project/node_modules/serverless-python-requirements/lib/pip.js:67:5)
at installRequirementsIfNeeded (/Users/cyber/dev/jb/project/node_modules/serverless-python-requirements/lib/pip.js:501:3)
at ServerlessPythonRequirements.installAllRequirements (/Users/cyber/dev/jb/project/node_modules/serverless-python-requirements/lib/pip.js:635:29)
From previous event:
at PluginManager.invoke (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/lib/classes/PluginManager.js:490:22)
at getHooks.reduce.then (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/lib/classes/PluginManager.js:525:24)
From previous event:
at PluginManager.run (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/lib/classes/PluginManager.js:525:8)
at variables.populateService.then (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/lib/Serverless.js:133:33)
at runCallback (timers.js:705:18)
at tryOnImmediate (timers.js:676:5)
at processImmediate (timers.js:658:5)
at process.topLevelDomainCallback (domain.js:120:23)
From previous event:
at Serverless.run (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/lib/Serverless.js:120:74)
at serverless.init.then (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/bin/serverless.js:82:30)
at /Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:136:16
at /Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:57:14
at FSReqWrap.oncomplete (fs.js:141:20)
From previous event:
at initializeErrorReporter.then (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/bin/serverless.js:82:8)
at runCallback (timers.js:705:18)
at tryOnImmediate (timers.js:676:5)
at processImmediate (timers.js:658:5)
at process.topLevelDomainCallback (domain.js:120:23)
From previous event:
at Object.<anonymous> (/Users/cyber/.nvm/versions/node/v10.14.2/lib/node_modules/serverless/bin/serverless.js:71:4)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:282:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
Operating System: darwin
Node Version: 10.14.2
Framework Version: 1.66.0
Plugin Version: 3.5.0
SDK Version: 2.3.0
Components Version: 2.22.3
About this issue
- Original URL
- State: open
- Created 4 years ago
- Comments: 23
I also got this error while having a
pyproject.tomlbut not using poetry (since that file is used for other things too).Why not just look for
poetry.lockinstead ofpyproject.toml?Also, the workaround is really simple and already documented:
I dug through the code and eventually discovered the problem was my pyproject.toml was missing:
You need this otherwise you get the above error. It is unfortunate because I was using dephell to convert to poetry and it didn’t add that stanza to the generated pyproject.toml.
I agree with @brettdh . The pyproject.toml file is not an exclusive poetry file so the best alternative is to use poetry.lock to generate requirements.txt within the .serverless directory
@AndrewFarley thanks so much!
@AndrewFarley Got it. Have a great weekend!
@BwL1289 Looks good eh?