2016-12-08 7 views
0

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.

Antwort

0

Schließlich herausgefunden. Ich habe nach dem Entfernen meiner PYTHONPATH-Variable keinen Neustart durchgeführt. Also, wenn Sie das gleiche Problem haben:

  1. Löschen Sie Ihre PYTHONPATH env. Variable.
  2. Neustart!
Verwandte Themen