从较低级别的文件导入顶级文件
从较低级别的文件导入顶级文件
这个问题已经有了答案:
我不太清楚这个,__init__.py
应该是将当前文件夹描述为一个模块,对吧?
所以如果我的顶层项目文件夹my_project
包含文件config.py
(my_project/config.py
), 那么my_project/drivers/sales/customer.py
文件应该可以通过以下方式导入config.py
模块:
import my_project.config
(错误为:ModuleNotFoundError: No module named \'my_project\'
)- 或者,
from .. import config
(错误为:ValueError: attempted relative import beyond top-level package
) - 顺便说一下,我试过用三个点 (...
),但是还是出现了相同的错误。 - 或者,直接
import config
(错误为:ModuleNotFoundError: No module named \'config\'
)
使用以下终端命令:
(env) localhost:/Users/myname/Sites/my_project $ python drivers/sales/customer.py
我怎样才能实现这个导入?
版本信息:
$ python Python 3.6.2 (default, Jul 17 2017, 16:44:45)
admin 更改状态以发布 2023年5月23日
一种方法是将您的项目路径公开如下:
import sys sys.path.append('path/to/your/project') # /Users/nabin/Desktop in my case
#我在桌面上有“my_project”,即 /Users/nabin/Desktop/my_project
然后您可以执行以下操作:
from my_project import config
因此,当组合在一起时,您需要以下内容:
import sys sys.path.append('path/to/your/project') from my_project import config