前提
Python:Python 3.10.4
VScode:1.66.2(user setup)
OS:Windows 10 Home
実現したいこと
a.pyにb.pyをimportしたい
起きていること
a.pyにb.pyをimportしようとしたところa.pyのimport b.pyのb.pyに波線が出る。
波線にマウスを合わせると以下が表示される。
Import "b" could not be resolved Pylance(reportMissingImports)
上記の状態で実行するとターミナルに以下エラーメッセージが出力される。
エラーメッセージ:ModuleNotFoundError: No module named 'b'
該当のソースコード
a.py
python
1import b 2b.test()
b.py
python
1def test(): 2 print('test')
補足
足りない情報等あれば追記させていただきます。
よろしくお願いいたします。
a.pyとb.pyは同じディレクトリにありますか?
はい、同じディレクトリにあります。
こちらで全く同じファイルを作ってみて実行しても問題は発生しません。
ディレクトリ(フォルダ)の中にその2つのファイルだけ存在するようにして、ターミナルでそのディレクトリに移動してからコマンドを実行するとどうなりますか。
from . import b
ではだめですか?
ib-kさん
from . import bとすると、以下エラーメッセージが出力されます、
ImportError: attempted relative import with no known parent package
TakaiYさん
そうなのですね、、
試させていただきます。
実行するファイル(a.pyを呼び出して使うならそれ)があるディレクトリがあるパスをsys.pathに追加してみてください
自分は別件でこれで解決しました
https://qiita.com/syunskee2045/items/14f2e5d8562cf18cbf8d
内容的にファイルの配置がよくない(Pythonの制約と合っていない)という話なので、ディレクトリ/ファイルをどう配置して、それをVS Codeでどう開いているか? という情報が不可欠です。
説明が大変なら、最低限VS Codeのエクスプローラー部分のスクリーンショットぐらいはあるといいかと思います。
あなたの回答
tips
プレビュー