Ich verwende WinPython, um mit Bibliotheken wie Scipy zu arbeiten. Ich kann diese nicht in meiner virtuellen Umgebung installieren, da blas/lapack nicht verfügbar ist. Die Lösung bestand darin, die Module (theano/scipy/numpy) zu verwenden, die bereits auf meinem System in meiner virtuellen Umgebung installiert sind. Hier ist, was ich versucht:Globale Module sind in VirtualEnv nicht verfügbar
offene Konsole (cmd)
python
>>> import numpy
das funktioniert, jetzt die virtuelle Umgebung zu schaffen
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
oder einfach:
virtualenv --system-site-packages venv
aber keine egal, was ich versuche, ich kann nicht numpy importieren, wenn ich in das venv eintrete.
venv\Scripts\activate
python
>>> import numpy
ImportError: No module named 'numpy'
Seltsam. So verglich ich die sys.path innerhalb des Venv:
>>> 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']
mit dem Original (außen):
>>> 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']
wie Sie sehen können, nicht alle Einträge wurde kopiert. Warum ist das und wie kann ich es beheben?
Und ja, ich lese virtualenv --system-site-packages not using system site packages und löschte meine PYTHONPATH-Variable, aber das Problem bleibt.