前提・実現したいこと
Visual Studio Codeを使ってWindows10からUbuntuにSSH接続し,下記URLの(4)にあるようにインタラクティブウィンドウでpythonを実行しています.
Visual Studio Code(VSCode)とPython
SSH接続は下記URLの方法を参考にしました.
VSCodeからSSH接続をする方法
しかし,自作モジュールをインポートしようとしたときにModuleNotFoundErrorとなりインポートできません.
ディレクトリ構成は下記のようになっております.
pythontest
├modules
│ └mod1
│ └mymod.py
└testmod.py
自作モジュール以外は問題なくインポートできています。
インタラクティブウィンドウで自作モジュールをインポートするために見落としている設定や確認事項があればご教示いただけますと幸いです.
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) ~/pythontest/testmod.py in ----> 1 import mod1.mymod 2 3 print("Import!") ModuleNotFoundError: No module named 'mod1'
試したこと
- Ubuntuの~/.bashrcに下記を記述しております.
expoert PYTHONPATH="/home/ss99/pythontest/modules"
- 下記にあるUbuntuのsettings.jsonには自作モジュールが置いてあるパスをextraPathsで記載しました.
/home/ss99/.vscode-server/data/Machine/settings.json
"python.analysis.extraPaths": [
"/home/ss99/pythontest/modules",
],
-
ターミナルからpython testmod.pyで実行するとエラーは発生せず,3行目のプリント分が表示されます.
-
ターミナルから実行したipythonでもインポートできており,関数の呼び出しも問題なくできます.
-
インタラクティブウィンドウで確認したsys.pathには自作モジュールがあるパスは表示されず,ターミナルから実行したipythonでは自作モジュールがあるパスが表示されます。
なお,インタラクティブウィンドウ上で自作モジュールのパスをappendすることで自作モジュールは使えるようになりますが,自作モジュールを呼び出す度にappendするのは面倒なのでこれは回避したいです.
- 自作モジュールをローカルに置きなおし,同じようにインタラクティブウィンドウでローカルで実行するとインポートエラーは表示されません.
補足情報(FW/ツールのバージョンなど)
ローカルのOS:Windows10 Pro 2004
SSH接続先のOS:Ubuntu 18.04.5 LTS
VSCode:ver1.56.2
Python:3.7.9 64-bit
IPython:7.19.0
conda: 4.7.12
あなたの回答
tips
プレビュー