【发布时间】:2018-04-28 18:39:47
【问题描述】:
对此我不清楚:__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)
【问题讨论】:
-
最近也让我大吃一惊,我认为在你的情况下:从 .. 导入配置,因为你的文件是 2 级深,所以 2 个点
-
@Kris 同样的错误。见上文
-
好的,最后一次尝试:您是否尝试在销售文件夹中添加一个空的 init.py,然后尝试使用 from .. import config?对不起,如果这感觉像是在猜测(公元前。它是!),但我仍然无法将我的头包裹在 python 相关导入中......
-
层次结构中的所有文件夹都需要有init.py文件
-
@Kris 我想知道怎么做,但我知道为什么你的 init 是粗体的 :)
标签: python