ホームページ >バックエンド開発 >Python チュートリアル >Pytest の「ImportError: No Module Named...」問題を修正する方法?
Pytest でのパスの失敗: 'ImportError: No Module Named...'
Pytest を使用すると、厄介なエラー 'ImportError: が発生します。 「...という名前のモジュールがありません」というメッセージが表示される場合、この問題は通常、Python のモジュール インポート動作に起因します。 Pytest はディレクトリを走査してモジュールを見つけますが、モジュールの親ディレクトリの外で実行するとモジュールが見つからないことがあります。
最近の Pytest バージョンで推奨されるアプローチ (>= 7)
Pytest の最新バージョンでは、「pythonpath」構成オプションを介してより簡単なソリューションが提供されます。 「pyproject.toml」または「pytest.ini」ファイルで「pythonpath」を定義すると、必要なモジュール ディレクトリを Python の検索パスに追加できます。
Conftest Solution for Pytest < 7
Pytest の古いバージョンの場合、侵襲性の低いアプローチとして、プロジェクトのルート ディレクトリに空の 'conftest.py' ファイルを作成します。 Pytest は、テスト収集中にこのディレクトリを Python の検索パスに自動的に追加します。
特定のプロジェクト構造に関するヒント
結論
「pythonpath」のいずれかを使用して Python の検索パスを変更します。構成または「conftest.py」ファイルを使用すると、「ImportError: No module names...」問題を解決し、さまざまな環境でスムーズにテストできるようになります。環境
以上がPytest の「ImportError: No Module Named...」問題を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。