スポンサーリンク
概要
VSCodeで特定条件下でPylintのUnable to importが出てくるのを回避する方法
スポンサーリンク
スポンサーリンク
症状の詳細
下記のようにVSCodeのルートディレクトリとは別にソースコードのディレクトリのルートを作成する。
(下記ではsrcディレクトリ)
1 2 3 4 5 |
. |-src |-main.py |-dir1 |-module1.py |
上記のルートはファイル管理上の構造で、実際の実行時のカレントディレクトリはmain.pyのあるsrcディレクトリとしたい。
この場合、main.py内でmodule1.pyをインポートしたい場合、
import dir1/module1 from ....
となる。(main.pyのあるsrcディレクトリが基点となるため。)
しかしながらVSCode上では
import src/dir1/module1 from ....
といった形でルートのsrcを記載しないと、下記のようにPylintにUnable to importと怒られる。
こうすればエラーは回避できるが、実際にsrcをカレントディレクトリとして動かすと今度はエラーが出る。
これは実行時はsrcディレクトリがカレントになるので、上記のような記載だと
src/src/dir1/module1
と認識されるためエラーとなる。
スポンサーリンク
解決方法
ルートディレクトリにpylintrcを作成して、下記のように記載する。
1 2 3 4 5 6 |
. |-pylintrc |-src |-main.py |-dir1 |-module1.py |
1 |
init-hook="./src" |
スポンサーリンク
こうすることで、 Pylintがsrcをルートディレクトリとして認識してくれるのでエラーが出なくなり、
import dir1/module1 from ....
といった形で記載が可能になる。
下記でPython本を含めて半額セールの内容を紹介していますので、興味がある方は参照してみてください。