如何在Python中正确创建包
假设我有一个名为如何在Python中正确创建包,python,python-3.x,python-import,Python,Python 3.x,Python Import,假设我有一个名为foo的文件夹。在该文件夹中是\uuuu init\uuuuuuuuuuuupy,一个名为test的文件夹,以及另一个名为t1.py的Python文件。在文件夹test中有一个名为bar.py的Python文件,在该文件中,我尝试执行以下操作: from foo import t1 这给了我一个错误: ModuleNotFoundError: No module named 'gmuwork' 是否需要向环境变量或sys.path添加某些内容?绝对导入 如果你想用 from
foo
的文件夹。在该文件夹中是\uuuu init\uuuuuuuuuuuupy
,一个名为test
的文件夹,以及另一个名为t1.py
的Python文件。在文件夹test
中有一个名为bar.py
的Python文件,在该文件中,我尝试执行以下操作:
from foo import t1
这给了我一个错误:
ModuleNotFoundError: No module named 'gmuwork'
是否需要向环境变量或sys.path
添加某些内容?绝对导入
如果你想用
from foo import t1
那么是的,foo
必须包含在sys.path
中。
从:
导入包时,Python会在上的目录中进行搜索
sys.path查找包子目录
在这种情况下,请看以下问题:
相对进口
或者,在bar.py
内部,您应该能够使用
from ..foo import t1
作为一个整体
最后:不管是哪种方式,您都应该在
test
中放入另一个空的\uuu init\uuuuuupy.py
文件,让Python知道文件夹是一个子包。第6.4节应该是useful@BradSolomon:你说得对,我要说的是第6.4.2节,特别是包内引用和相对导入。