我正在尝试通过创建virtualenv来保持依赖项来启动Python 3.6项目。我目前在我的机器上安装了Python 2.7和3.6,因为到目前为止我已经在2.7编码,我希望尝试3.6。我遇到了不同版本的Python没有检测到我在virtualenv中安装的模块的问题。
例如,我使用以下命令创建virtualenv:virtualenv venv
然后我激活virtualenv并使用以下命令安装Django:pip install django
当我使用命令激活Python 2.7或3.6时出现问题
py -2
或py -3
,两个交互式shell都没有检测到Django是否已安装。
只有在我运行python
命令时才会检测到Django,当我想使用3.6时,默认为2.7。有没有人知道可能的解决方案,所以我可以让我的virtualenv正常工作?谢谢!如果它很重要我在运行Windows 7的机器上。
答案 0 :(得分:1)
基于python3.6创建虚拟环境
virtualenv -p python3.6 env36
激活它:
source env36/bin/activate
然后,venv36已被激活,venv36
的点数现已可用,您可以像往常一样安装Django
,并且该包将存储在env36/lib/python3.6/site-packages
下:< / p>
pip install django
答案 1 :(得分:0)
创建virtualenv时必须选择解释器。
virtualenv --python=PYTHON36_EXE my_venv
替换{3.6}安装的路径代替PYTHON36_EXE
。然后,在您激活后,python
可执行文件将绑定到3.6,您可以像往常一样pip install Django
。
答案 2 :(得分:0)
关键是pip
为特定版本的Python以及非常具体的位置安装内容。基本上,虚拟环境中的pip
命令专门为您的虚拟环境正在使用的解释器设置。因此,即使您在激活该环境时明确调用另一个解释器,它也不会获取为默认解释器安装的包pip
。