これを重複としてマークする前に、全体的な問題を読んでください。通常のsys.pathインポートエラーではありません。珍しいPythonのインポートエラー
これは私が2台の異なるマシンで働いています
root
|_moduleDir1
| |_ myModule1.py
| |_ __init__.py
|_ moduleDir2
|_ myModule2.py
|_ __init__.py
インポートしようとしているモジュールのディレクトリ構造です。私のスクリプトはうまく動いてしまい、もう片方にインポートエラーが出ます。最初は環境問題だけだと思っていましたが、何か他のことが起こっていると思います。失敗したマシンにmyModule1.pyをインポートするスクリプトを実行すると、次のインポートエラーが発生します。
import moduleDir1.myModule1
ImportError: No module named myModule1
私はそれがPATHの問題またはのsys.pathの問題であるとは考えていない理由は、私は適切な環境変数にルートディレクトリを追加したことであると私は
import moduleDir2.myModule2
上記追加したときスクリプト内のmyModule1のインポートでは、インポートエラーが発生しないので、rootがsys.pathにあることがわかっているか、エラーが両方発生します。また、他のマシンでうまく動作するので、init.pyの問題ではないと思います。両方のマシンがWindows 10を実行しています。
私は困惑しており、何も捜索しておらず、運がないとテストしました。私が見つけることができるのは、init.pyまたはsys.pathの問題で、私の問題の解決策ではない投稿です。私が同じ親ディレクトリの下にいるときに、他のモジュールではなく、あるモジュールでインポートエラーが発生している理由についての提案や考えは高く評価されます。
'myModule1'をインポートしようとするコードを表示し、完全なエラーメッセージを表示してください。 – BrenBarn
'import moduleDir1'と' print(moduleDir1 .__ file __) 'だけを試してください。出力は期待通りですか? 'sys.path'に先に' moduleDir1'という別のディレクトリがあり、 'moduleDir1.py'というファイルがあれば、それは代わりにインポートされ、' myModule1'というサブモジュールがない場合は、このエラーが発生します。 – BrenBarn
あなたは頭の爪を打つ!システムのどこかに同じ名前の別のモジュールがあり、それがインポートされています。本当にありがとう!あなたはどれくらいの時間を知っている私を救ったのですか? – jerrik