python - 无服务器:python3.7 未找到!尝试 pythonBin 选项
问题描述
我正在尝试使用无服务器框架和 Python 开发一个简单的无服务器应用程序。
这是我的serverless.yml
service: hello-world
provider:
name: aws
region: us-west-2
runtime: python3.7
environment:
DB_ENDPOINT:
DB_USERNAME:
DB_PASSWORD:
plugins:
- serverless-python-requirements
functions:
hello:
handler: handler.trial_registration
当我运行时sls deploy
出现以下错误
Serverless: Generated requirements from /home/ganesh/code/hello-world/requirements.txt in /home/ganesh/code/hello-world/.serverless/requirements.txt...
Serverless: Installing requirements from /home/ganesh/.cache/serverless-python-requirements/5c625dc5f843b3bb1163fd11989b43fb3cbca4299219c6ef399108fb36e56a2f_slspyc/requirements.txt ...
Serverless: Using download cache directory /home/ganesh/.cache/serverless-python-requirements/downloadCacheslspyc
Error --------------------------------------------------
Error: python3.7 not found! Try the pythonBin option.
at pipAcceptsSystem (/home/ganesh/code/hello-world/node_modules/serverless-python-requirements/lib/pip.js:100:13)
at installRequirements (/home/ganesh/code/hello-world/node_modules/serverless-python-requirements/lib/pip.js:168:9)
at installRequirementsIfNeeded (/home/ganesh/code/hello-world/node_modules/serverless-python-requirements/lib/pip.js:532:3)
at ServerlessPythonRequirements.installAllRequirements (/home/ganesh/code/hello-world/node_modules/serverless-python-requirements/lib/pip.js:611:29)
at ServerlessPythonRequirements.tryCatcher (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/promise.js:517:31)
at Promise._settlePromise (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/promise.js:574:18)
at Promise._settlePromise0 (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/promise.js:619:10)
at Promise._settlePromises (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/promise.js:699:18)
at _drainQueueStep (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/async.js:138:12)
at _drainQueue (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/async.js:131:9)
at Async._drainQueues (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/async.js:147:5)
at Immediate.Async.drainQueues (/home/ganesh/code/hello-world/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:794:20)
at tryOnImmediate (timers.js:752:5)
at processImmediate [as _immediateCallback] (timers.js:729:5)
For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
Operating System: linux
Node Version: 8.10.0
Framework Version: 1.51.0
Plugin Version: 1.3.9
SDK Version: 2.1.0
我不确定我错过了什么。错误消息对我没有帮助。
解决方案
在自定义部分添加以下内容:
pythonRequirements:
pythonBin: python3
像这样:
custom:
...
pythonRequirements:
pythonBin: python3
...
推荐阅读
- r - 为什么 KnitR 不打印标题和摘要?
- javascript - 如何将步进功能添加到 ArrayForm?
- amazon-web-services - 指向 s3 存储桶另一个帐户的 Lambda 层
- ios - 在移动视图内部时出现奇怪的 ScrollView 行为。SwiftUI
- javascript - 如何在javascript中解构对象并获取一个键的值?
- kdb - 连接两个具有不同行数的表 KDB
- database - AWS 访问密钥适用于本地主机,但不适用于部署
- pandas - 如何在真正的列名下添加一个额外的列名而不在熊猫中删除它?
- python-3.x - 使用 css_selector 在 aria-label 之后提取文本
- c++ - wxWidget 3.0.5 编译失败,OpenGL 库不可用