VirtualEnv中没有全局模块

时间:2016-12-08 22:18:59

标签: python scipy virtualenv

我正在使用WinPython来处理像Scipy这样的库。我无法在我的虚拟环境中安装它们,因为blas / lapack不可用。解决方案是使用已经安装在我的虚拟环境中的系统上的模块(theano / scipy / numpy)。 这是我试过的:

打开控制台(cmd)

python
>>> import numpy

这有效,现在正在创建虚拟环境

set VIRTUALENV_PYTHON=C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\python.exe
set VIRTUALENV_EXTRA_SEARCH_DIR="C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\libs C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\Lib C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\DLLs C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\ C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\Scripts"
virtualenv --system-site-packages -v --always-copy venv

或简单地说:

virtualenv --system-site-packages venv

但无论我尝试什么,我都无法在进入venv时导入numpy。

venv\Scripts\activate
python
>>> import numpy
ImportError: No module named 'numpy'

奇怪。所以我比较了venv中的sys.path:

>>> sys.path
['', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\Scripts', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\DLLs', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\Lib', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\libs', 'C:\\Users\\user\\venv\\Scripts\\python35.zip', 'C:\\Users\\user\\venv\\DLLs', 'C:\\Users\\user\\venv\\lib', 'C:\\Users\\user\\venv\\Scripts', 'C:\\Users\\user\\venv', 'C:\\Users\\user\\venv\\lib\\site-pack
ages']

与原始的(外部):

>>> sys.path
['', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\Scripts', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\DLLs', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\Lib', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\libs', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\python35.zip', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\lib\\site-packages', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\lib\\site-packages\\win32', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\lib\\site-packages\\win32\\lib', 'C:\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\lib\\site-packages\\Pythonwin']

如您所见,并非所有条目都被复制过来。为什么这样,我该如何解决?

是的,我读了virtualenv --system-site-packages not using system site packages并删除了我的PYTHONPATH变量,但问题仍然存在。

1 个答案:

答案 0 :(得分:0)

最终想出来。删除PYTHONPATH变量后,我没有重新启动。所以如果你有同样的问题:

  1. 删除您的PYTHONPATH环境。变量。
  2. 重新启动!