問題タブ [pyflakes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - flake8 が長すぎる行を報告しない
test.py
次の不適切な形式のコンテンツを含むファイルを作成した場合:
flake8
次のようにコマンドラインからファイルを実行します。
次の 2 つのエラーのみが報告されます。
2 行目のmax-line-length
違反は報告されません。
完全に偶然 (コマンド オプションのいずれかが尊重されるかどうかをテストしていた)、次のような無視オプションを追加すると、次のことがわかりました。
次に、行の長さ違反が報告されます。
私はUbuntu 16.04を使用しており、flake8
バージョン情報は次のとおりです。
関連する質問を Emacs Stack Exchange サイトに投稿したとき(最初は Emacs パッケージに問題があると思っていました)、そこにいるユーザーの 1 人が、 flake8
2.5.4 には下位バージョンの が必要でpyflakes
あると指摘しました 。ただし、その特定のバージョンをflake8
介してapt
、またはpip
自動的にインストールすると、依存関係としてインストールされ、問題が解決するかどうかを確認するpyflakes
ために古いバージョンの を取得できませんでした(おそらく、それはまったく別の質問です)。pyflakes
ここで何か間違ったことをしていますか、それともバグですか?
python - 重複する例外をキャッチするための pylint (またはその他のツール) の取得
次の例のように、重複/冗長な例外がキャッチされているケースをキャッチするために、pylint (または他のコード分析ツール) を取得する方法が見つかりませんでした。
ここで、ConnectionError、IOError、および socket.error が、except-clause で OSError によって既にカバーされていることについて苦情を申し立てたいと思います。
これは存在しますか?そうでない場合、これは良い/悪い考えでしょうか?
python - ソースファイルがflake8のpython 3をサポートしているかどうかを静的に判断する方法は?
Python ソース ファイルが Python 3 をサポートしているかどうかを静的に判断するにはどうすればよいですか?
そこに記載されているように質問に答えることができない場合があるため、より具体的に説明します。
これに対する私のアプリケーションは、実行する flake8 のバージョンを選択して、偽の SyntaxErrors を発生させないことです。そのため、(少なくとも) flake8 の Python 3 コピーを実行する必要があるか、Python 2 コピーを実行する必要があるかを教えてくれるヒューリスティックを探しています。
私はエディターから flake8 を使用していますが、入力時にリント エラーが表示されます。pyflakes/flake8 が何かを考えていることの副作用として、名前付けエラー (F821 など) が失われることがあるという事実に最も関心があります。は、実際には正しい構文である構文エラーです。構文エラーが発生すると、(当然のことながら) 命名エラーなどであきらめているように見えます。
python - これは flake8 の誤検知ですか、それとも本当に間違ったことをしていますか?
このコード サンプルに簡略化できる関数があります。
pyflakes (1.3.0) または flake8 (3.2.0) を実行すると、次のレポートが表示されます。
私が見ているのは、item
変数が実際に2回使用されていることですが、スコープが異なるため、報告されるべきではありませんよね?
また、2 番目のループがなかったitem
としても、3 行目で定義したprint
?
それで、これは偽陽性ですか、それとも私は本当に非常に貧弱なコードを書いていますか?
python - Pyflakes と混合 Python コードベース
ソース コード全体に Python 2 および Python 3 スクリプトが散在するコード ベース (C++、Python) があります。
コード ベースのさまざまなサブディレクトリに対して pyflakes (および pyflakes 内の pytest) を実行したいのですが、Python 2 から pyflakes を実行すると、Python 3 スクリプトで失敗します。
Python 2 と Python 3 の混合コード ベースに対して pyflakes を実行するクリーンな方法はありますか?