我在Windows Server 2012上运行多个Python安装。我可能找到一种方法解决这个问题,但我很好奇正在发生什么。我对从根本上改变安装情况保持警惕,以防我破坏我可能不知道的其他人的Python计划任务。从另一个Python安装导入的模块
(以下所有代码框均为PowerShell)。
PS C:\> C:\Python34\Scripts\pip.exe list
jdcal (1.0)
pip (7.1.2)
setuptools (12.0.5)
virtualenv (13.1.2)
尽管这个Python 3.4安装没有安装Django,但它似乎会从Python 33x86安装中获取版本。这是正常的吗?
PS C:\> C:\Python34\python.exe -c "import django; print(django.get_version())"
1.6.5
PS C:\> C:\Python33x86\python.exe -c "import django; print(django.get_version())"
1.6.5
我创建了一个基于Python 3.4的Python virtualenv,并在其中安装了Django 1.8.4。做一个“点子清单”证实,它已正确安装: -
PS C:\> D:\PyVirtualEnvs\example_py34\Scripts\activate.bat
PS C:\> D:\PyVirtualEnvs\example_py34\Scripts\pip.exe list | Select-String "Django "
Django (1.8.4)
然而,当我导入的virtualenv中,我得到的Django版本1.6.5: -
PS C:\> D:\PyVirtualEnvs\example_py34\Scripts\python.exe -c "import django; print(django.get_version())"
1.6.5
这是一个错误在virtualenv还是我错过了什么?
编辑:它可能与this question?
编辑2:使用pyvenv时,发生同样的事情,正如火腿三明治所建议的。
也许一个愚蠢的问题,但你确定你已经激活venv? 'venv \ Scripts \ activate.bat' –
是的,位于上面第三个代码框的顶部。说,这样做时,没有视觉反馈来验证它的工作。 –
是否有使用virtualenv而不是pyvenv的理由? https://docs.python.org/3/library/venv.html#module-venv –