5

我正在尝试按照教程部署一个圣杯应用程序。我正在使用带有 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

但是请注意,正在使用的这个 chalice 库是 2.7。我在一个设置为 python3.6 的 virtualenv 中。

我意识到我之前已经在全球范围内安装了 chalice,这可能是一个错误。所以我 pip 全局卸载了 chalice,但它仍然安装在我的 virtualenv 中。

现在重新运行圣杯,我得到

$ chalice --version
bash: /usr/local/bin/chalice: No such file or directory

我尝试将 chalice 的安装重新运行到本地 virtualenv,但它没有改变任何东西。

我在这里做错了什么?

4

1 回答 1

1

这可能是多种原因。

我假设您的 virtualenv 被称为 venv,如果没有相应地更改它。

你还没有激活你的 virtualenv。

使固定:

source venv/bin/activate 

您激活了 virtualenv,但路径不匹配。

使固定:

echo $PATH
/Users/[yourpath]/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin

如果/Users/[yourpath]/venv/bin不正确,请检查:

grep "VIRTUAL_ENV=" venv/bin/activate
VIRTUAL_ENV="/Users/[yourpath]/venv"

然后venv/bin/activate相应地更新。

注意:不应将 virtualenv 文件夹添加到您的存储库中。这可能是您问题的根源。

如果要确保每个人都有匹配的依赖项,请运行:

python -m pip freeze > requirements.txt
于 2021-01-22T12:32:56.610 回答