Rub*_*oob 6 python virtualenv aws-cloud9
我在亚马逊的 Cloud9 工作。
ec2-user:~/environment/flask_init $ python -V
Python 2.7.14
ec2-user:~/environment/flask_init $ virtualenv -p python3 venv
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/ec2-user/environment/flask_init/venv/bin/python3
Also creating executable in /home/ec2-user/environment/flask_init/venv/bin/python
Installing setuptools, pip, wheel...done.
ec2-user:~/environment/flask_init $ source venv/bin/activate
(venv) ec2-user:~/environment/flask_init $ python -V
Python 2.7.14
Run Code Online (Sandbox Code Playgroud)
为什么虚拟环境不使用Python 3?
请注意,此问题与此问题不重复。该问题具体与 Cloud 9 环境设置 Python 别名的方式有关。
我在我的机器上尝试了你的流程,一切都按预期进行。
dluzak@Karol-PC:/tmp$ python -V
Python 2.7.12
dluzak@Karol-PC:/tmp$ virtualenv -p python3 venv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /tmp/venv/bin/python3
Also creating executable in /tmp/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
dluzak@Karol-PC:/tmp$ source venv/bin/activate
(venv) dluzak@Karol-PC:/tmp$ python -V
Python 3.5.2
(venv) dluzak@Karol-PC:/tmp$
Run Code Online (Sandbox Code Playgroud)
尽管如此,我个人virtualenv
在使用 python 3: 创建 venv 时使用 as 模块python3 -m virtualenv venv
。也许这会起作用。
您提供的细节很少。您是否为 Python 2 和 3 安装了 virtualenv?你确定 Python 3 解释器工作正常吗?
编辑:
经过对评论的调查,我们发现问题出在亚马逊配置的 bash 设置中。看来亚马逊配置了 bash(可能在 ~/.bashrc 中)来用别名替换 python 调用。要解决此问题,unalias python
需要在启用 venv 之前进行调用。亚马逊文档中对此进行了描述