私はこれの絶対的な馬鹿のように感じるつもりです、そして、それが金曜日の遅れであるかどうかわかりませんが、なぜ私は問題を抱えているのかを理解するのに苦労しています。この信じられないほど単純なコードで。ImportError:いいえモジュール
ディレクトリ構造:
~/testapp/
~/testapp/__init__.py
~/testapp/settings.py
~/testapp/workers/a.py
〜/ testappと/ settings.py:
x = 1
〜/ testappと/労働/ a.py:
from settings import x
実行している〜/ testapp/workers/a.pyをPyCharm経由で実行しても問題ありません。ただし、端末で実行しているとき、私が取得:
[email protected]:~$ python testapp/workers/a.py
Traceback (most recent call last):
File "testapp/workers/a.py", line 1, in <module>
from settings import x
ImportError: No module named settings
私も〜/ testappと/労働者/ a.pyで、次の試してみました:
from testapp.settings import x
をし、同じエラーを得ました。
from ..settings import x
が、これは戻ります::私も試してみた
[email protected]:~/$ python testapp/workers/a.py
Traceback (most recent call last):
File "python testapp/workers/a.py", line 1, in <module>
from ..settings import testvar
ValueError: Attempted relative import in non-package
は、私はこの同じインポート方法を使用し、以前のアプリケーションの多くを走ってきた、と問題を抱えていたことがありません。なぜ私は突然これが起こっているのか分かりません。
このような他の問題をstackoverflowとgoogleで見てみると、私がやったシステムパスの設定と確認が誰もが言及しています。前述したように、PyCharmでこれを実行するとうまく動作します。インポートの前に〜/ testapp/workers/a.pyを変更してsys.path、sys.executable、os.getcwd()を出力すると、PyCharmとコンソールの結果は同じになります。