4

私は pylint で遊んでいて、コード分析に sonarqube を使用しています。すべてがインストールされ、正常に動作しています。ただし、モジュールをインポートできないというエラー「f0401」が表示されます。これが私のディレクトリ構造です。

top level:
    directoryA
        __init__.py
        folderA
        some .py files        
    directoryB
        __init__.py
        folderA
        some .py files
    directoryC
        __init__.py
        folderA
        some .py files

directoryA で pylint を実行しています。directoryA の .py ファイルには、directoryB と directoryC からのインポートがいくつかあります。そのため、directoryA で pylint を実行すると、「directoryB.somemodule をインポートできない」などのインポート エラーが発生します。分かりやすく説明できればと思います。

その問題を解決する方法を誰かが助けることができますか?PS pylint の使用と微調整に関する優れたドキュメントとチュートリアルを誰かが指摘してくれれば、それは素晴らしいことです。

4

2 に答える 2

2

pylint は、現在のディレクトリを PYTHONPATH の一部として取得します (これは、Python インタープリターがパッケージを検索する場所を示す単なる環境変数です)。

したがって、 dirA でpylintを実行すると、ディレクトリ A (フォルダー A など) のすべてのものと標準の PYTHONPATH のその他のものを認識しますが、ディレクトリ B は認識しませ

最も簡単な解決策は、プロジェクトのルートでpylint xxxx を実行することです。それ以外の場合は、PYTHONPATH に追加するか、pylintrc ファイルを使用する必要があります (推奨)。

pylint 実行の詳細については、そのドキュメントの詳細を確認してください

于 2015-08-04T08:29:18.977 に答える