nobu blog

プログラミングやゲームの話など。

*



VSCodeのPylintのUnable to importの回避方法

   

概要

VSCodeで特定条件下でPylintのUnable to importが出てくるのを回避する方法

症状の詳細

下記のようにVSCodeのルートディレクトリとは別にソースコードのディレクトリのルートを作成する。
(下記ではsrcディレクトリ)

上記のルートはファイル管理上の構造で、実際の実行時のカレントディレクトリは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を作成して、下記のように記載する。

こうすることで、 Pylintがsrcをルートディレクトリとして認識してくれるのでエラーが出なくなり、

import dir1/module1 from ….

といった形で記載が可能になる。

 - python