已经有10多篇关于这个问题的SO帖子,但是没有一个答案适用于我,我仍然没有看到有人从兄弟目录中导入东西的示例。
src
__init__.py
test.py
package1
__init__.py
module1.py
package2
__init__.py
module2.py
在 Python 版本大于 3.3 的情况下,init.py 不是必需的,但我仍然将其放在那里,因为它们没有任何区别。
在 test.py 中,我有以下内容:
import package1.module2
我的代码运行良好,但是问题在于当我想要从包2导入一些东西到包1中,或者反过来时就会出现问题。我在module2.py中尝试了不同的导入方法,但是我收到了这些不同的错误消息:
import src.package1.module1.py
出现错误:
ModuleNotFoundError: No module named 'src'
并且
from .. import package1
伴随着错误:
ImportError: attempted relative import with no known parent package
这里的最佳答案:如何从兄弟目录导入Python脚本?与我上面显示的确切错误消息相同。
这里的答案:如何从兄弟文件夹导入Python模块?没有改变任何内容。
我是否漏掉了什么或者在不同的文件夹/包之间导入东西是不可能的? 我需要使用“sys.path hack”吗?