mma*_*nry 5 python amazon-web-services chalice
我正在尝试按照教程部署一个 chalice 应用程序。我在 python3.6 中使用 virtualenv。我的应用程序依赖于 requirements.txt 中的 github 存储库,而该存储库的 requirements.txt 依赖于多个库。
我可以很好地运行应用程序,python -i app.py并且可以在 REPL 中正确执行我的端点。
但是,当我运行时,chalice deploy我收到一个错误,抱怨我需要的 github 存储库所需的模块。
File "/usr/local/lib/python2.7/dist-packages/chalice/deploy/packager.py", line 715, in download_all_dependencies
raise NoSuchPackageError(str(package_name))
NoSuchPackageError: Could not satisfy the requirement: PyQt5>=5.8.1
Run Code Online (Sandbox Code Playgroud)
但是请注意,使用的这个 chalice 库是 2.7。我在一个设置为 python3.6 的 virtualenv 中。
我意识到我之前在全局安装了 chalice,这可能是一个错误。所以我 pip 全局卸载了 chalice,但它仍然安装在我的 virtualenv 中。
现在重新运行圣杯,我得到
$ chalice --version
bash: /usr/local/bin/chalice: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我尝试将 chalice 的安装重新运行到本地 virtualenv,但它没有改变任何东西。
我在这里做错了什么?
这可能有多种原因。
我假设你的 virtualenv 被称为 venv,如果没有相应地改变它。
您还没有激活您的 virtualenv。
使固定:
source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)
您激活了 virtualenv,但路径不匹配。
使固定:
echo $PATH
/Users/[yourpath]/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
如果/Users/[yourpath]/venv/bin不正确,请检查:
grep "VIRTUAL_ENV=" venv/bin/activate
VIRTUAL_ENV="/Users/[yourpath]/venv"
Run Code Online (Sandbox Code Playgroud)
然后进行相应更新venv/bin/activate。
注意:virtualenv 文件夹不应添加到您的存储库中。这可能是您问题的根源。
如果您想确保每个人都有匹配的依赖项,请运行:
python -m pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |