Was kann ich tun, wenn eine virtuelle Python-Umgebung keine Module findet?

Was kann ich tun, wenn eine virtuelle Python-Umgebung keine Module findet?

Unter Ubuntu 16.04 habe ich eine virtuelle Umgebung namens erstellt venvund darin venv/lib/python2.7/site-packageshabe ich nltkund nltk-3.2.2.dist-infowie gewohnt.

Wenn ich jedoch die virtuelle Umgebung aktiviere source venv/bin/activateund 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+pund dann Python:Select Interpreterden Python-Interpreter im venv eingeben und auswählen. Jetzt sollten die Schaltflächen „Ausführen“ und „Debuggen“ wie gewohnt funktionieren.

verwandte Informationen