我在从cmdline/console运行python时仅导入python包时遇到问题。但是,使用pydev时,一切似乎都正常。无法导入Python包
我有以下的文件系统......
---MarketData
---Parser
---Parser.py
---__init__.py
---IO
---__init__.py
---MarketSocket.py
目前,解析器和IO被定义为Python包(他们有初始化 .py文件,虽然在解析器没有任何代码。INIT .py文件。
我试图运行下面的代码行MarketSocket.py
from Parser import Parser
但是,应该在包“Parser”中导入模块“解析器”,但出现以下错误。
ImportError: No Module Named Parser
任何帮助,将不胜感激!这应该根据stackoverflow的类似问题,但出于一些奇怪的原因,它不是。
这是一个可怕的解决方案。当使用适当的结构时修改路径是一个不好的解决方案。 –
当然,只要Python不会改变它们有关包的默认行为,我认为sys.path几乎是你的唯一选择,如果你想使用像'#!/ usr/bin/env python'这样的东西, 。个人而言,'python -m'不是我的选择。 –
出于兴趣,为什么'python -m'不是一个选项?我建议创建一个顶级模块,以便在这种情况下导入更好的解决方案。 –