Python venv(虚拟环境)使用错误版本的Python

Ska*_*Ska 2 python virtualenv python-3.x

我安装了 Python 3.7 和 3.6。但是在我的个人资料中,我设置为使用 3.6,这确实是一个由which python3.

$ which python3 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3

然后我通过运行创建虚拟环境 python3 -m venv venv

我的 venv 中的所有内容都与 3.6 相关联。我ls -la venv/bin通过检查确认了这一点venv/pyvenv.cfg

我激活了venv虚拟环境。

然后我安装了一个zappapip install zappa

当我运行时zappa deploy,我收到一个错误,指出不支持 Python 3.7。为什么库会使用未在 virtualenv 中配置的 Python 版本,以及如何使其使用正确的版本?

(venv) $ zappa deploy
Traceback (most recent call last):
  File "/Users/t/Projects/djzappa/Spheres/venv/bin/zappa", line 7, in <module>
    from zappa.cli import handle
  File "/Users/t/Projects/djzappa/Spheres/venv/lib/python3.7/site-packages/zappa/__init__.py", line 12, in <module>
    raise RuntimeError(err_msg)
RuntimeError: This version of Python (3.7) is not supported!
Zappa (and AWS Lambda) support the following versions of Python: ['2.7', '3.6']
Run Code Online (Sandbox Code Playgroud)

注意:我不会像每个人都建议的那样使用 virtualenv,也不会像其他现有答案所指的那样使用。

在此处输入图片说明

art*_*ona 7

在创建环境时使用它:

virtualenv --python=/usr/bin/python3.6 
Run Code Online (Sandbox Code Playgroud)

但是如果你想使用venv,首先要检查python3你的终端中是否python3.6如你所愿地引用了。

如果没有-具有完整路径python3.6,而不是唯一的运行命令python3python3 -m venv venv

编辑:为什么你的别名 python3 指的是 python3.7 - 这可能取决于你使用的操作系统和安装顺序。很难说。