wvgw1692
@wvgw1692 (spwv)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

[Python]VSCode上でプログラムを実行した際、モジュールのインポートがうまくいかない

Q&A

Closed

解決したいこと

VSCodeの[RUN Python File]ボタンでプログラムを実行した際に、モジュールのインポートがうまくいきません。

発生している問題・エラー

  • [RUN Python File]ボタンで実行した場合
(venv) PS C:\Users\******> & C:/Users/***/AppData/Local/Programs/Python/Python39/python.exe "******/sample.py"
Traceback (most recent call last):
  File "******/sample.py", line 1, in <module>
    import scipy
ModuleNotFoundError: No module named 'scipy'

  • ターミナル上で以下のように実行するとうまくいきます
(venv) PS C:\Users\******> python ******/sample.py

該当するソースコード

import scipy

自分で試したこと

  • モジュールのインストール自体はできています
(venv) PS C:\Users\***> pip list
Package         Version
--------------- -------
numpy           1.22.3
pandas          1.4.1
pip             22.0.4
python-dateutil 2.8.2
pytz            2022.1
scipy           1.8.0
setuptools      49.2.1
six             1.16.0
0

1Answer

エラーが起きているターミナルでは(venv)となっていますが、(est) PS C:\Users\***> pip listではestとなっているのは関係ありますかね?venvをactivateした上で、packageはinstallされていますか?

0Like

Comments

  1. @wvgw1692

    Questioner

    ご回答ありがとうございます。
    (est)となっている件については、誤って別の環境での`pip list`の結果を載せていました。先ほど質問の方を訂正させていただきました。
    venvをactivateして改めてパッケージのリストを確認したところ、やはりscipyはinstallされていました。
  2. 理解しました。

    ターミナルの履歴に & C:/Users/***/AppData/Local/Programs/Python/Python39/python.exeとあるので、venvのpythonではなくて、グローバルなpythonで実行されてるようです。

    「RUN Python File」ボタンというのがどれか良くわかりませんが、`which python`でvenv上のpython実行ファイルの場所を確認し、vscodeのpython interpreterで指定してあげれば動きそうな気がします。
  3. @wvgw1692

    Questioner

    venv上のpython実行ファイルのpathをvscodeのpython interpreterで指定したところ、うまく実行できました!
    ありがとうございました!

Your answer might help someone💌