我有这个结构
proj
utils.py
|- sub1
file1.py
|- sub2
file2.py
...
utils.py
是一个包含许多有用功能的模块。我希望可以在子目录的每个filesX.py
中访问它们,例如通过utils.func1()
...
因此我想通过utils
从file1.py
导入from .. import utils
,但是我得到了
ValueError: attempted relative import beyond top-level package
错误。
是否有一种不添加绝对路径且无需编辑PYTHONPATH的干净方法?
答案 0 :(得分:0)
尝试一下:
from proj import utils
我的意见是,如果您不想编辑eny环境变量,这就是解决此问题的方法。
使用绝对导入意味着您尝试导入另一个模块时,模块在项目中的哪个位置都没有关系。 Python将始终查找要从包根目录导入的模块。