Python 仮想環境でモジュールが見つからない場合はどうすればいいですか?

Python 仮想環境でモジュールが見つからない場合はどうすればいいですか?

venvUbuntu 16.04 で、 と呼ばれる仮想環境を作成しました。その中に、 通常どおり とがvenv/lib/python2.7/site-packagesあります。nltknltk-3.2.2.dist-info

ただし、 を使用して仮想環境をアクティブ化しsource venv/bin/activate、 を含む Python スクリプトを実行するとimport nltk、次のエラーが発生します。

ImportError: No module named nltk

これをどうすれば修正できますか?

答え1

「pip list」を使用すると、venv にインストールされているパッケージをいつでも確認できます。

(venv)user@home:~/venv$ pip list
pip (9.0.1)
setuptools (32.3.0)
wheel (0.29.0)
...

答え2

まず venv をアクティブ化し、次に依存関係をインストールしますpip install nltk。例:

パッケージは venv フォルダー内に保存されます。

答え3

vscode を使用すると、venv がアクティブになっている場合でも、デフォルトの「python ファイルを実行」または「python ファイルをデバッグ」ボタンを使用してプログラムを実行しようとすると、この問題が発生しました。

これらのボタンは、venv 内の Python ではなく、システムのデフォルトの Python を使用してファイルを実行するコマンドを実行するだけであることが原因であることがわかりました。これを修正するには、プログラムを手動で実行する必要があります。python path_to_your/file_name.py

編集: venv を有効にした後、 を押してctrl+shift+pPython:Select Interpretervenv で Python インタープリターを入力して選択できます。これで、実行ボタンとデバッグ ボタンが正常に機能するはずです。

関連情報