【发布时间】:2017-11-15 08:31:08
【问题描述】:
我已经阅读了解决方法(adding to sys.path 或 more robust solutions),但其他库不使用此类解决方法(例如,tf 中的this file)。我也不认为我真的必须这样做,我希望能够在一行上导入并运行 - 我一定是错过了什么!
具体来说,我有以下目录:
project/
foo/
src/
__init__.py
bar.py
foo/
__init__.py
boo.py
我希望在 bar.py 中我可以简单地编写类似 from foo import boo 的内容,但是我的 IDE PyCharm 认为这是一个错误。
因此,相信我的 IDE,我尝试了 from src.foo import boo,但这会导致 ImportError,经测试:
Traceback (most recent call last):
File "bar.py", line 1, in <module>
from src.foo import boo
ImportError: No module named 'src'
我确认 src 文件夹位于 sys.path[0],但插入 __file__ 似乎确实解决了问题 - 我仍然不想使用此解决方法,但作为最后的手段。
我已经尝试了一百万个其他技巧来让它工作但没有成功。
如何在不使用其中一种解决方法的情况下从本地模块导入?
【问题讨论】:
-
您的示例可能不完整吗?我在 2017.2.4 pro 中看不到这个问题,它没有报告未解决的引用并建议正确的导入。无论如何,禁用检查对我来说似乎是一种极端的解决方法。
-
我可能在几年前修改了设置以导致此问题。我专门升级到社区 2017.2.4 来尝试解决这个问题。如果检查显示为警告,我会保持启用状态 - 这是我的设置所设置的 - 但似乎另一个错误导致检查显示为错误。
-
啊,好吧,可能是社区和专业之间的细微差别,甚至是您拥有的一些插件或自定义设置。我在这里有一个相当标准的开箱即用配置。
标签: python import pycharm python-import importerror