一見シンプルな作業で何度も汗を流しましたが、Pythonでローカルモジュールをインポートするにはどうすればいいですか?Pythonでローカルモジュールをインポートする - ImportError:Not moduleという名前のモジュール*
私は回避策(adding to sys.pathまたはmore robust solutions)について読んだが、他のライブラリは、このような回避策(TFで例えば、this file)を使用しないでください。 私は1つの行にインポートして実行したいと思っています - 私は何かが欠けているに違いない!
具体的な取得するには、私は次のディレクトリのようなものがあります。
project/
foo/
src/
__init__.py
bar.py
foo/
__init__.py
boo.py
を私はbar.pyに、私は単にfrom foo import boo
ような何かを書くことができ、しかし、私のIDE、PyCharmは、これを見ていることを期待しますエラーとして。解決に思えましたが、それに__file__挿入し、私はsrcフォルダがsys.path[0]
であったことを確認し
Traceback (most recent call last):
File "bar.py", line 1, in <module>
from src.foo import boo
ImportError: No module named 'src'
:
だから、私のIDEを信頼し、私はfrom src.foo import boo
試みるが、テストしたとして、これは、はImportErrorになり問題 - 私はまだこの回避策を使いたくはありませんが、最後の手段となります。
私は成功することなくこれを稼働させるために何百万ものトリックを試みました。
回避策を使用せずにローカルモジュールからインポートするにはどうすればよいですか?
例が不完全かもしれませんか?私は2017.2.4で問題を見ることができませんでしたが、未解決の参考文献を報告せず、適切な輸入を提案しました。とにかく、検査を無効にすることは、私にとっては多少極端な回避策のように思えます。 – bgse
私はこれを引き起こすために数年前から設定を変更しているかもしれません。この問題を解決するためにコミュニティ2017.2.4にアップグレードしました。私は、警告として表示されていれば検査を有効にしておきました。これは私の設定で設定されていますが、別のバグで検査がエラーとして表示されるようです。 – Shayn
ああ、コミュニティとプロフェッショナルの微妙な違い、またはあなたが持っているプラグインやカスタム設定の微妙な違いかもしれません。私はここにかなり標準の設定を持っています。 – bgse