タグ付けされた質問 「pylint」

バグや低品質の兆候を探しているPythonソースコードアナライザー。

2
PyLint、PyChecker、またはPyFlakes?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はこれらのツールについていくつかのフィードバックを得たいと思います: 特徴; 適応性; 使いやすさと学習曲線。

12
Pylint警告を無効にするにはどうすればよいですか?
Pylint 0.21.1で、警告C0321(「1行に複数のステートメントがある」- if単一行の結果が短いステートメントを同じ行に置くことが多い)を無効にしようとしています(重要な場合:astng 0.20。 1、共通0.50.3、Python 2.6.6(r266:84292、2010年9月15日、16:22:56))。 disable=C0321Pylint構成ファイルを追加してみましたが、Pylintはとにかくそれを報告することを強く求めています。その行のバリエーション(disable=0321またはのようなdisable=C321)はエラーとしてフラグが付けられるため、Pylint はオプションを適切に認識し、単に無視します。 これはPylintのバグですか、それとも何か問題がありますか?これを回避する方法はありますか?私は本当にこのノイズのいくつかを取り除きたいです。
267 python  pylint 

4
条件値でのlen(SEQUENCE)の使用がPylintによって正しくないと見なされるのはなぜですか?
このコードスニペットを検討してください。 from os import walk files = [] for (dirpath, _, filenames) in walk(mydir): # more code that modifies files if len(files) == 0: # <-- C1801 return None ifステートメントのある行に関する次のメッセージでPylintに警告されました。 [pylint] C1801:len(SEQUENCE)条件値として使用しない ルールC1801は、一見したところ、あまり合理的に聞こえませんでした。リファレンスガイドの定義では、これが問題である理由が説明されていません。実際、それは間違いなくそれを不正使用と呼んでいます。 len-as-condition(C1801): 条件値として使用しないlen(SEQUENCE)Pylintが条件内でlen(sequence)の誤った使用を検出したときに使用されます。 私の検索の試みも、私にもっと深い説明を提供することに失敗しました。シーケンスの長さプロパティは遅延評価される可能性があり、__len__副作用を持つようにプログラムできることは理解していますが、それだけでPylintがそのような使用を誤って呼び出すのに十分な問題があるかどうかは疑問です。したがって、ルールを無視するようにプロジェクトを構成する前に、推論に何か欠けているかどうかを知りたいのです。 len(SEQ)条件値としての使用が問題になるのはいつですか?PylintがC1801で回避しようとしている主な状況は何ですか?

22
PyLint「インポートできません」エラー-PYTHONPATHを設定する方法
WindowsのWing IDE内からPyLintを実行しています。プロジェクトにサブディレクトリ(パッケージ)があり、パッケージ内に最上位からモジュールをインポートします。 __init__.py myapp.py one.py subdir\ __init__.py two.py 内部two.pyではimport one、最上位のディレクトリ(myapp.py実行元)がPythonパスにあるため、実行時に問題なく機能します。しかし、two.pyでPyLintを実行すると、エラーが発生します。 F0401: Unable to import 'one' どうすれば修正できますか?

22
PyLintにnumpyメンバーを認識させるにはどうすればよいですか?
PythonプロジェクトでPyLintを実行しています。PyLintは、numpyメンバーを見つけることができないことについて多くの不満を述べています。メンバーシップチェックのスキップを回避しながら、これを回避するにはどうすればよいですか。 コードから: import numpy as np print np.zeros([1, 4]) 実行すると、期待どおりの結果になります。 [[0. 0. 0. 0.]] しかし、pylintは私にこのエラーを与えます: E:3、6:モジュール「numpy」に「ゼロ」メンバーがありません(メンバーなし) バージョンの場合、私はpylint 1.0.0(astroid 1.0.1、common 0.60.0)を使用しており、numpy 1.8.0で動作するようにしています。
163 python  numpy  pylint 

3
PyLintメッセージ:logging-format-interpolation
次のコードの場合: logger.debug('message: {}'.format('test')) pylint 次の警告が生成されます。 ロギングフォーマット補間(W1202): ロギング関数で%フォーマットを使用して、引数として%パラメーターを渡します。ロギングステートメントに「logging。(format_string.format(format_args ...))」の呼び出し形式がある場合に使用されます。そのような呼び出しでは、代わりに%形式を使用する必要がありますが、引数としてパラメーターを渡すことにより、ログ関数に補間を残します。 この警告をオフにできることはわかっていますが、理解したいと思います。format()Python 3でステートメントを出力する方法として、を使用するのが望ましいと思いました。ロガーステートメントにこれが当てはまらないのはなぜですか?

4
Pylintを使用して特定の1行を無視することは可能ですか?
ヘッダーに次の行があります。 import config.logging_settings これは実際に私のPythonロギング設定を変更しますが、pylintはそれを未使用のインポートであると考えています。unused-import一般的に警告を削除したくないので、この特定の行を無視することはできますか? 私は.pylintrcこのプロジェクトのために持っていることを気にしないので、設定ファイルを変更する答えは受け入れられます。 そうでなければ、このようなものも認められます: import config.logging_settings # pylint: disable-this-line-in-some-way
150 python  pylint 

12
DjangoでPylintを使用する
私は統合するだろう非常に多くのようなpylintを私のpythonプロジェクトのビルドプロセスに、しかし、私は1つのショーストッパーに実行した:私は非常にuseful--見つけること、エラーの種類の一つは:E1101: *%s %r has no %r member*一般的なDjangoのフィールドを使用しているとき--constantlyエラーを報告します、 例えば: E1101:125:get_user_tags: Class 'Tag' has no 'objects' member これはこのコードによって引き起こされます: def get_user_tags(username): """ Gets all the tags that username has used. Returns a query set. """ return Tag.objects.filter( ## This line triggers the error. tagownership__users__username__exact=username).distinct() # Here is the Tag class, models.Model is provided …

30
Visual StudioCodeでのPylintの「未解決のインポート」エラー
私は次のセットアップを使用しています macOS v10.14(モハベ) Python 3.7.1 VisualStudioコード1.30 ピリント2.2.2 Django 2.1.4 Visual Studio Codeでの生活を少し楽にするために、リンティングを使用したいと思います。ただし、すべてのインポートについて、「未解決のインポート」という状態があります。デフォルトのDjangoインポート(つまり、django.dbインポートモデルから)でも。 仮想環境のPythonファイルが表示されていないためだと思います。 すべてが正常に機能しますが、煩わしくなり始めています。 私が選択しているインタープリターは、すべてシステムバージョンのPythonです。私の仮想環境Pythonがまったく表示されていないようです(ワークスペースと同じディレクトリにないため、その部分は理にかなっています)。 私が設定している場合python.PythonPathをしてsettings.jsonのファイル、それはちょうどそれを無視し、オプションとしての私の仮想環境のパスが表示されません。また、グローバルPython設定で設定しようとしましたが、表示されません。 それを機能させるための簡単な修正はありますか?

2
pylintrcファイルを作成する方法
Linuxを実行しています。のようなことをしてpylint --generate-rcfile > .pylintrcから、結果の.pylintrcファイルに変更を加えてデフォルト設定を上書きできますか?もしそうなら、それは私の~/ディレクトリにあるべきですか、それとも.pylint.dに入れるべきですか?
132 pylint 

4
Pylintの「パブリックメソッドが少なすぎます」というメッセージの意味
一部のコードでPylintを実行しているときに、「パブリックメソッドが少なすぎます(0/2)」というエラーを受け取ります。このメッセージはどういう意味ですか?pylintドキュメントは有用ではありません。 クラスのパブリックメソッドが少なすぎる場合に使用されるので、それだけの価値があることを確認してください。
110 python  pylint 

11
Pylintのファイルレベルで「docstringがありません」という警告を無効にするにはどうすればよいですか?
Pylintは、一部のファイルにdocstringがないというエラーをスローします。各クラス、メソッド、関数にdocstringを追加しようとしていますが、Pylintは、ファイルの先頭にdocstringが必要かどうかもチェックしているようです。どういうわけかこれを無効にできますか?クラス、関数、またはメソッド内にdocstringがないことを通知したいのですが、ファイルにdocstringが含まれている必要はありません。 (プロプライエタリソースファイルの冒頭によく見られる専門用語はありますか?例はありますか?そのような些細な質問を個別に投稿してもよいかどうかはわかりません。)
99 python  pylint 

5
pylintが1文字の変数名に反対するのはなぜですか?
私はまだpythonの慣習に慣れておりpylint、コードをよりpythonicにするために使用していますが、pylintが単一文字の変数名を好まないという事実に戸惑っています。私はこのようないくつかのループを持っています: for x in x_values: my_list.append(x) を実行するとpylint、取得していますInvalid name "x" for type variable (should match [a-z_][a-z0-9_]{2,30}-有効な変数名の長さは3〜31文字でなければならないことを示唆していますが、PEP8の命名規則を調べましたが、小文字の小文字については何も明示されていません。 、そして私はそれらを使用する多くの例を見ています。 PEP8に欠けているものはありますか、それともPylintに固有の標準ですか?

5
Pylintはファイルのすべての警告を無効にします
ビルドシステム内でpylintを使用しています。コードベース内に使い捨てコードを含むPythonパッケージがあり、モジュールのすべての警告を一時的に無効にして、これらの不要なメッセージで他の開発者を悩ませないようにしたいと思います。pylint: disableモジュールのすべての警告に簡単な方法はありますか?
85 python  pylint 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.