2017-07-19 6 views
0

プロジェクトディレクトリのフォルダ内のファイルをパッケージとしてインポートしようとすると、「モジュールが見つかりません」という一般的な問題が発生します。私はStackoverflow答えからいくつかのソリューションを試してみましたが、誰も私のために働いていません。フォルダからのインポート時にPythonの "module not found"エラーが発生しましたか?

私はPyCharmを使用して、フラスコのプロジェクトにconda環境devenvで働いているが、このようなプロジェクトのディレクトリがあります:

/some/path/project_root/ migrations/ static/ templates/ reporting/ __init__.py code.py tests.py

をここで何が起こっている、と私が試したものです私は01を実行したときに

from .code import my_function

、しかし:tests.pyファイル内のモジュールとしてcode.pyをインポートするimport文があります

私はエラーを取得する:ModuleNotFoundError: No module named '__main__.code'; '__main__' is not a package

私はこれを正しく動作させるために設定するために何が必要です$ PYTHONPATHにプロジェクトディレクトリのパスを追加しようとした、とecho $PYTHONPATH戻り/some/path/project_root/

?また、変更する必要のある設定は、使用している開発環境に固有の設定にすることができますか?

答えて

0

変更from .code import my_functionからfrom code import my_functionに変更してください。パッケージの最上位レベルは、__init__.pyファイルの最上位フォルダーによって定義されます。したがって、プロジェクトの最上位レベルはreportingフォルダで、code.pyは相対インポートである必要はありません。相対的な輸入を避けるか、PyCharmのような編集者があなたのために世話をするのに最適です!

+0

'python -m reporting.tests.py'を実行してみることもできますが、別のエラーが発生する可能性があります。 – vahndi

関連する問題