概要
カレントディレクトリ直下のpythonファイルを一括でpylintかけようとしてはまった話。
同じことで悩んでいそうな方に、一応の解決策を提供します。
結論
解決策は以下。
- 空の
__init__.py
をまず作る。 - コマンド実行時に
..
で一階層上がってからフォルダ指定する。(理由はわからないです)
環境
- OS ... Windows 10 64bit(Home)
- Python実行環境 ... Minicondaでconda仮想環境を作成
- pylint 2.5.2
- astroid 2.4.1
- Python 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)]
やったこと
最初フォルダ構成はこんな感じ。
C:\Users\{ユーザー名}\Desktop\project
└aaa.py
コマンドプロンプトから以下を実行してみた。
(dev) C:\Users\{ユーザー名}\Desktop\project>pylint *.py
************* Module *.py
*.py:1:0: F0001: No module named *.py (fatal)
あれ。。。ワイルドカード使えない?
いろいろ調べて、__init__.py
を同じ階層に作れば行けそうな雰囲気を感じた。
__init__.py
は空のファイルで良い。
C:\Users\{ユーザー名}\Desktop\project
├__init__.py
└aaa.py
これなら以下で行けるか?
(dev) C:\Users\{ユーザー名}\Desktop\project>pylint .
(dev) C:\Users\{ユーザー名}\Desktop\project>
これもダメ。。。
念のため1階層上でも試してみる。
(dev) C:\Users\{ユーザー名}\Desktop\project>cd ..
(dev) C:\Users\{ユーザー名}\Desktop>pylint project
************* Module project.aaa.py
project\aaa.py:24:0: C0301: Line too long (109/100) (line-too-long)
(そのほか多数)
-----------------------------------
Your code has been rated at 2.20/10
(dev) C:\Users\snkmr\Desktop\repo>
お、できた!!!でも階層上がらないとできないの不便すぎる...
もしかしてワンチャンこれならいける??
(dev) C:\Users\{ユーザー名}\Desktop>cd project
(dev) C:\Users\{ユーザー名}\Desktop\project>pylint ..\project
************* Module project.aaa.py
project\aaa.py:24:0: C0301: Line too long (109/100) (line-too-long)
(そのほか多数)
-----------------------------------
Your code has been rated at 2.20/10
(dev) C:\Users\snkmr\Desktop\repo>
行けた!!!これが正しい解決法かわからないけど、一応解決した。
結論(再掲)
解決策は以下。
- 空の
__init__.py
をまず作る。 - コマンド実行時に
..
で一階層上がってからフォルダ指定する。(理由はわからないです)