nobu blog

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

*



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

      2020/11/25

概要

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

ActiveStorageを使用した画像アップロードとプレビュー機能(Ruby on Rails)


スポンサーリンク

症状の詳細

下記のように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本を含めて半額セールの内容を紹介していますので、興味がある方は参照してみてください。

技術書の電子書籍(Kindle)が半額以下のセール中【現役エンジニアから見たオススメ書籍も紹介】

 - python