1. ホーム
  2. python

[解決済み] ImportError.を修正する方法 No module named ..." エラーを修正するには?

2022-08-05 07:09:17

質問

この ImportError エラーを修正する正しい方法は何ですか。

私は以下のディレクトリ構造を持っています。

/home/bodacydo
/home/bodacydo/work
/home/bodacydo/work/project
/home/bodacydo/work/project/programs
/home/bodacydo/work/project/foo

そして、私はディレクトリに

/home/bodacydo/work/project

今、私が

python ./programs/my_python_program.py

私は即座に

ImportError: No module named foo.tasks

./programs/my_python_program.py には以下の行が含まれます。

from foo.tasks import my_function

なぜ python は ./foo/tasks.py - を見つけられないのか理解できません。

Pythonのシェルからやると、うまくいくんです。

python
>>> from foo.tasks import my_function

を介して呼び出した場合のみ動作しません。 python ./programs/my_python_program.py スクリプトで呼び出した場合のみ動作します。

どのように解決するのですか?

Python は、カレントディレクトリを sys.path に追加するのではなく、スクリプトが存在するディレクトリに追加します。追加するのは /home/bodacydo/work/project のどちらかに sys.path または $PYTHONPATH .