問題タブ [pylint]
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 - pylint のインポートと動的パスの変更
私のプロジェクトは一般的に次のように構成されています。
__init__.py
次のコードが含まれている場所
python
これは、インポート時にディレクトリを「スキップ」してfrom projectname import mymodule
、from projectname.python import mymodule
.
ただし、これによりpylintが壊れているように見え、$PYTHONPATH
正しく設定されているにもかかわらず、プロジェクトにモジュールをインポートできません。ソフトリンクを作成すると修正projectname -> python
されprojectname
ますが、適切な解決策ではありません。
ディレクトリ構造を変更せずにこれを修正する方法について何か提案はありますか?
python - PylintがOSXのEmacsGUIで動作しない。コマンドラインから動作します
コマンドラインから実行すると(emacs filename.py
)flymakeとpylintは完全に連携します。エラーは適切に強調表示されます。(テキストモードであるため、ツールチップをホバーしてエラーの詳細を取得することはできませんが。)
GUI(Carbon Emacs)から実行すると、Flymakeはすぐに戻り、ファイルの最初の行がエラー「in <module>
」で強調表示されます。最初の行は、「Hello World」スクリプトでもエラーを示しています。)マウスでナビゲートし(知っている、知っている)、ツールチップを使用して詳細を取得できるように、GUIモードで正しく機能させたい。 pylintでエラーが報告されました。
pylintを" easy_install pylint
"でインストールしましたが、pylintおよびepylintスクリプトは" ~/py/scripts
"にあります。そのディレクトリを.bashrcのPATHに追加しました。
(私の.profileは私の.bashrcへのシンボリックリンクです。)
Emacs-GUIが.bashrcからパスをロードしていないことに気付いたので、ターミナルに表示される完全なPATHを使用してPATH変数を設定し、〜/ .MacOSX/environment.plistファイルを作成しました。
Emacs-GUIで" (getenv "PATH")
"出力は正しく表示されます:
同様に、「C-h v exec-path
」の出力は正しく表示されます。
それは私がこれをどのように解決すべきかについてのさらなるアイデアを私に残しません。私は決してemacsの第一人者ではないので、ここで明らかな何かを見逃している可能性があります。詳細については、お気軽にお問い合わせください。
OS X 10.6.7; Carbon Emacs 22.3.1; ピリント0.23.0。
.emacsのFlymake/Pylintコード:
@sanityincの回答に応じて2011-04-05を更新します。
flymakeの詳細レベル3の出力*messages*
:(これは問題の原因を私に明らかにしません。)
比較のために、emacsテキストモードから実行した場合のflymakeverbosity3の出力を次に示します。「helloworld」ファイルはすべてのpylintテストに合格しました。
python - PylintがwxPythonについて文句を言う-「パブリックメソッドが多すぎる」
次の単純なwxPythonスニペットの場合:
Pylintから「R0904:12:MyApp:パブリックメソッドが多すぎます」という警告メッセージが常に表示されます。どうすればそれを防ぐことができますか?
python - imp.find_module の代替案は?
バックグラウンド
名前空間パッケージを使用し、コードベースを個別のフォルダーに分割すると、pylint がファイルをインポートできないという問題にうんざりしています。そのため、問題の原因として特定されている astNG ソースコードを掘り下げ始めました ( astng のバグレポート8796を参照)。imp.find_module
問題の中心にあるのは、インポートを見つけるプロセスで独自の python を使用しているようです。
何が起こるかというと、インポートの最初の (サブ) パッケージ - a
in import a.b.c
-find_module
にNone
パスが渡されます。戻ってきたパスは、前の例でfind_module
見つけようとするルックアップ ループの次のパスに送られます。b
logilab.common.modutils からの疑似コード:
問題
これがfind_module
問題です。サブパッケージが含まれている場合と含まれていない場合があります。サブパッケージが見つからない場合、バックアウトして次のパッケージを試す方法はありません。
結果をパスリストから削除して2回目の試行を行うことができるように、Noneの代わりにsys.pathを明示的に使用してみましたが、pythonのモジュールファインダーは十分に賢いため、パスに完全に一致する必要はありません、このアプローチを使用できなくします-とにかく私の知る限りでは。
涙目の嘆願
可能なすべての一致を返すか、除外リストを取るfind_modulesの代替手段はありますか? 私はまた、まったく異なるソリューションに対してオープンです。手動で python にパッチを当てないことが望ましいですが、少なくともローカル ソリューションの場合は不可能ではありません。
(注意事項:私はpython 2.6を実行していますが、現在の会社のポリシーがアップグレードできないため、p3kなどの提案は、それが唯一の答えでない限り、承認済みとしてマークされません。)
coding-style - なぜ言語は構文的に厳密ではないのですか?
間隔、行のインデントなど、スタイルについて心配する時間がなくなります。
プロジェクト間で異なるスタイルに適応する時間がなくなります。
なぜ言語はこの点で柔軟になっているのですか?非常に厳密なフォーマットを要求しないのはなぜですか?
python - Geany を Python IDE として使用できるように、Pylint を Geany と統合するにはどうすればよいですか?
http://michaeljaylissner.com/blog/using-pylint-in-geany#comments
このブログは、ビルドコマンドを次のように設定すると述べています
カスタムエラー正規表現を設定します
コメンターは、コマンドでそれを示唆しています
ログの行番号をクリックすると、geany によってそこに移動することが可能です。私はこれを試しましたが、うまくいきませんでした。
プロジェクトファイルに、追加しました
ファイルを再ロードした後、同じ結果。error_regex を正しく設定していますか? なぜこれが機能しないのですか?
django - pylint「disable-msg」注釈コメントの省略形?
私は Django プロジェクトで pylint を使用していますが、この行を頻繁にコピーして貼り付けている
# pylint: disable-msg=E1101
ことに気づきました。
これで問題ありませんが、毎回これをコピーして貼り付ける必要がない方がいいでしょう。ショートカットなどを定義する方法はありますか? または、一般的に、皆さんはこれにどのように対処していますか?
python - 指定されたファイル名に対して再帰的に Pylint
私はDjangoプロジェクトを持っており、それを通り抜けるためにPylintingに取り組んでいます。
特定の名前のすべてのファイルを再帰的に見つけて、それらを別の方法で (別のオプションを使用して) pylint できるようにしたい状況がいくつかあります。たとえば、urls.py と admin.py をパイリントするための異なるオプションを設定したいと思います。
以下は1つのディレクトリに対して機能します..
*
しかし、それを再帰的にしたいと思います...サブディレクトリにドリルダウンするようにします。
それを達成する方法はありますか?
更新 また、それらすべてを順次ではなく、単一の pylint 出力として実行したいと思います
python - Django、Jenkins、PyLintがすべてを見ています
私は現在、Jenkins CIをpylintで実行して、作業中のDjangoプロジェクトを調べています。私が不満を感じていることの1つは、インポートするすべての中央djangoモジュールのpylintレポートです。つまり、自分のプロジェクトファイルが他のdjangoモジュールのマウンドに埋もれてしまいます(例:/usr/local/lib/python2.6/dist-packages/ django / contrib / admin / options.py、これは67の違反だけを与えます)。
それを無差別に減らして、私のプロジェクトに関連するファイルを見るだけの方法はありますか、それともすべてのインポートを常に繰り返す必要がありますか?
ありがとう、
J
vim - Vimクイックフィックスでエラー出力形式を制御するには?
私はこのスクリプト - http://www.vim.org/scripts/script.php?script_id=891 -を取得し、コマンドラインにpylintC
とerrorformat 行の変更 R
C0301
R0202
--include-ids\ y
に
簡単です。しかし、エラー出力では、C 301
代わりにC0301
. これは小さな問題ですが、それでも困惑しています。この種のエラー タグを正しく表示する方法はないようです。ここで何か不足していますか?
E
書いているときに、エラーコードがerror
とW
に変わることにも気付きましたwarning
。:clist
一般的に出力形式を制御するにはどうすればよいですか? ハードコードされていますか?