
Unter Ubuntu 16.04 habe ich eine virtuelle Umgebung namens erstellt venv
und darin venv/lib/python2.7/site-packages
habe ich nltk
und nltk-3.2.2.dist-info
wie gewohnt.
Wenn ich jedoch die virtuelle Umgebung aktiviere source venv/bin/activate
und ein Python-Skript ausführe, das enthält import nltk
, erhalte ich die folgende Fehlermeldung:
ImportError: No module named nltk
Wie kann das behoben werden?
Antwort1
Mit „Pip List“ können Sie jederzeit überprüfen, welche Pakete in Ihrem Venv installiert sind.
(venv)user@home:~/venv$ pip list
pip (9.0.1)
setuptools (32.3.0)
wheel (0.29.0)
...
Antwort2
Aktivieren Sie zuerst das Venv und installieren Sie dann die Abhängigkeiten, z. B. pip install nltk
.
Die Pakete befinden sich dann im Venv-Ordner.
Antwort3
Bei der Verwendung von vscode trat dieses Problem auf, wenn ich versuchte, mein Programm mit den Standardschaltflächen „Python-Datei ausführen“ oder „Python-Datei debuggen“ auszuführen, selbst wenn ich venv aktiviert hatte.
Ich habe herausgefunden, dass es daran lag, dass diese Schaltflächen nur einen Befehl ausführen, der das Standard-Python Ihres Systems verwendet, um Ihre Datei auszuführen, anstatt das im Venv. Um das zu beheben, müssen Sie das Programm manuell ausführen:python path_to_your/file_name.py
Bearbeiten: Nachdem Sie venv aktiviert haben, können Sie drücken ctrl+shift+p
und dann Python:Select Interpreter
den Python-Interpreter im venv eingeben und auswählen. Jetzt sollten die Schaltflächen „Ausführen“ und „Debuggen“ wie gewohnt funktionieren.