我在 Windows Server 2012 上运行多个 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。执行“pip list”确认它已正确安装:-
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 中的错误还是我错过了什么?
编辑:这可能与这个问题有关吗?
EDIT2:使用pyvenv时也会发生同样的事情,正如 ham-sandwich 所建议的那样。