[英]import module from a sibling directory in python3.10
已经有 10 多篇关于此的帖子,没有一个答案对我有用,而且我还没有看到有人从同级目录导入某些内容的示例。
src
__init__.py
test.py
package1
__init__.py
module1.py
package2
__init__.py
module2.py
(_ init _.py 在大于 3.3 的 python 版本上不需要,但我仍然有它们,因为它们没有区别)
在 test.py 我有
import package1.module2
它工作正常但是问题是当我想从package2导入一些东西到package1,反之亦然。 我在 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”吗?
我给出了针对类似问题的几乎所有解决方案,但没有一个对我有用,但是,在我把头撞到墙上之后,我发现这个解决方案只需删除一个点就可以工作:
import sys
sys.path.append('..')
只需从 append 方法中的字符串中删除一个点,即:
sys.path.append('.')
或者您可以使用:
sys.path.insert(0, '.')
然后您可以从同级文件夹中导入任何模块。 我使用 python 3.9.13 进行了尝试,效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.