python初心者です。
うまくインポートできずに困っております。
アドバイス頂けると幸いです。
下記のようなフォルダ構成で、
main.pyでconfig.py内の関数(HelloWorld)を読み込みたいのですが、エラーが出ます。
【環境】
python version:3.6.2
pycharm上で実行
【フォルダ構成】
main.py
file1
|file2
|config.py
main.pyと同じディレクトリにfile1
file1のディレクトリ下にfile2
file2のディレクトリ下にconfig.py
main.py from file1.file2.config import HelloWorld
config.py def HelloWorld(): print("HelloWorld")
【エラー内容】
ModuleNotFoundError: No module named 'file1.file2'
main.pyがPyCharmのプロジェクトのルートに置いてあるということでいいですか?
コメントありがとうございます。
無知ですみません。「プロジェクトのルートに置く」とはどういったことでしょうか。。。
main.pyをPyCharmの環境で実行しております。。。
作ったプロジェクトの直下(そのディレクトリ)に置いてありますか?
プロジェクトウィンドウ(1. Project とあるペイン)のスクリーンショットの方がいいかもしれません。
ご親切にありがとうございます。
スクショを追記しました。プロジェクトの直下に置けていると思います。
このmain.pyはディレクトリですか? この中にファイルmain.pyがあったりしますか?
ツリー構造を全部展開して、ディレクトリ構造やファイルの配置が分かるようにしてもらえますか?
コメントありがとうございます。
ディレクトリ構造が分かるような画像に変えたつもりですが、いかがでしょうか。
宜しくお願い致します。
フォルダ構造には不審な点はないですね……。
PyCharmの画像に __init__.py がないのにフォルダアイコンに ● が付いているのはなぜなのか? という疑問がありますが、その理由もエラーと関連があるのかも不詳です。
お役に立てなくてすみません。
エラーの全文(ディレクトリの中のアカウント名などは隠していいのでPythonインタプリタが書いてあるところから)と、PyCharmのバージョンを載せるといいかもしれません。
1つ確認です。スクリーンショットを見ると、file1フォルダ以下にmain.pyが置かれているよう見えるのですが、そんなことはないのですよね?
>quiquiさん
file2に__init__.pyを置くとなぜかインポートできました。理由はよく分かりませんが、調べてみます。
ありがとうございました。このコメント欄で解決した際の評価ってどうしたらよろしいでしょうか。。。
>magichan
はい、main.pyとfile1は同じディレクトリにありました。コメントありがとうございました。
あなたの回答
tips
プレビュー