VScode上でPythonのライブラリimport不具合。PATHの設定方法に関する質問
解決したいこと
windows11・仮想環境下(venv)・VScodeを使った状況で
numpy等各ライブラリをimportしたいのですが、
「ModuleNotFoundError: No module named 'numpy'」とエラーが出てしまいます。
解決方法、特にVScodeのPATH設定を教えてほしいです。
詳細な状況ですが、まず前提をお伝えします。これを踏まえた上での問題になります。
まず、module(ライブラリ)のPATHを確認すべく以下を実行しました。
該当するソースコード
import sys
sys.path
で確認すると、以下が出ます。
['C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310',
'c:\\Users\\ユーザー名\\venv_py310',
'',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages\\win32',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages\\win32\\lib',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages\\Pythonwin']
そして、コマンドプロンプトから
pip show numpy
と入力すると、以下でLocationとしてライブラリのPATHが表示されました。
Location: c:\users\ユーザー名\appdata\local\programs\python\python310\lib\site-packages
このことから、sys.pathでコードした出力値に
「c:\users\ユーザー名\appdata\local\programs\python\python310\lib」は含まれるものの、
その先のディレクトリである「\site-packages」まで含まれるPATHの出力値はないため、
「c:\users\ユーザー名\appdata\local\programs\python\python310\lib\site-packages」
の中から一旦、numpy関連のフォルダをコピーして、
「c:\users\ユーザー名\appdata\local\programs\python\python310\lib」へペーストし、
問題が解決できるか試しました。結論以下のように解決できます。
import numpy
でnumpyがエラーなくインポートされ、試しに関数付きで「numpy.zeros(3)」で出力値が
「array([0., 0., 0.])」
と返ります。このことからも適切なインタプリタが選択されていることもわかり、
問題はPATHの設定によるものだと考えられました。
以上の前提を踏まえた上で問題はここからです。
自分としては、ライブラリを
「c:\users\ユーザー名\appdata\local\programs\python\python310\lib」
からではなく、
「c:\users\ユーザー名\appdata\local\programs\python\python310\lib\site-packages」
から拾ってほしいので、VScodeのPATH設定を何とかしたいです。
自分で試したこと
PATHの設定には、VScode上の「設定(JSON)を開く」から、
{
"python.venvPath": " C:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages",
"python.analysis.extraPaths": [
" C:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages",
"C:\\Users\\ユーザー名\\Appdata\\local\\programs\\python\\python310\\lib\\site-packages"
],
"python.autoComplete.extraPaths": [
"c:\\users\\ユーザー名\\appdata\\local\\programs\\python\\python310\\lib\\site-packages"
]
}
と記載し、「c:\users\ユーザー名\appdata\local\programs\python\python310\lib\site-packages」
もPATHの検索範囲に含まれるように設定し、VScodeの再起動も行ったのですが、
numpyのインポートがうまくいかず、初期と同じ
「ModuleNotFoundError: No module named 'numpy'」のエラーが出てしまいます。
ちなみに、
import sys
sys.path
で確認すると、以下が出ており、jsonに新たに内容を追加したにも関わらず、
['C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'C:\\Users\\ユーザー名\\AppData\\Local\\Programs\\Python\\Python310',
'c:\\Users\\ユーザー名\\venv_py310',
'',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages\\win32',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages\\win32\\lib',
'c:\\Users\\ユーザー名\\venv_py310\\lib\\site-packages\\Pythonwin']
というようにPATHが追加されていませんでした。
どなたか解決手段がわかる方やVScodeの扱いが得意な方などいらっしゃれば、
教えていただきたいです。。。
よろしくお願いいたします。