Python 从低级文件导入顶级文件

Python 从低级文件导入顶级文件,python,Python,我不清楚这一点:\uuuu init\uuuuy.py将当前文件夹描述为一个模块,不是吗 因此,如果我的顶级项目文件夹my_project包含文件config.py(my_project/config.py),那么my_project/drivers/sales/customer.py中的文件应该能够通过以下方式导入config.py模块: 导入my_project.config(错误至:模块NotFoundError:没有名为“my_project”的模块) 或者,from。。导入配置(错误

我不清楚这一点:
\uuuu init\uuuuy.py
将当前文件夹描述为一个模块,不是吗

因此,如果我的顶级项目文件夹
my_project
包含文件
config.py
my_project/config.py
),那么
my_project/drivers/sales/customer.py
中的文件应该能够通过以下方式导入
config.py
模块:

  • 导入my_project.config
    (错误至:
    模块NotFoundError:没有名为“my_project”的模块
  • 或者,
    from。。导入配置
    (错误至:
    ValueError:尝试在顶级包之外进行相对导入
    )-顺便说一句,尝试了三个点(
    ),但出现相同错误
  • 或者,只需导入配置(错误为:
    ModuleNotFoundError:没有名为'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) 

一种方法是公开项目的路径,如下所示:

import sys
sys.path.append('path/to/your/project') # /Users/nabin/Desktop in my case 
#我在桌面上有“我的项目”,即/Users/nabin/Desktop/my_project

然后您可以执行以下操作

from my_project import config
因此,当组合在一起时,您需要的是以下内容:

import sys
sys.path.append('path/to/your/project')

from my_project import config

最近也吹了我的头,我想你的情况是:来自。。导入配置文件,因为文件深度为2级,所以dots@Kris同样的错误。请参见上文OK,last try:您是否尝试在sales文件夹中添加一个空的init.py,然后使用from.进行尝试。。导入配置?很抱歉,如果这感觉像是猜测(bc.it!),但我仍然无法在python相对导入周围转圈…层次结构中的所有文件夹都需要init.pyfile@Kris我想知道如何,但现在我知道为什么你的init是粗体:)