假设我有一个名为foo
的文件夹。在该文件夹中有__init__.py
,一个名为test
的文件夹,另一个名为t1.py
的Python文件。内部文件夹test
是一个名为bar.py
的Python文件,在该文件中我尝试执行以下操作:
from foo import t1
它给了我这个错误:
ModuleNotFoundError: No module named 'gmuwork'
我是否需要向环境变量或sys.path
添加内容?
答案 0 :(得分:1)
如果你想使用
from foo import t1
然后是的,foo
必须包含sys.path
。
来自docs:
导入包时,Python会搜索目录 sys.path查找package子目录。
在这种情况下,请查看adding a file path to sys.path in python等问题。
或者在bar.py
内,您应该可以使用
from ..foo import t1
最后:无论哪种方式,你都应该在__init__.py
中放入另一个空的test
文件,让Python知道该文件夹是一个子包。