从较低级别的文件导入顶级文件

10 浏览
0 Comments

从较低级别的文件导入顶级文件

这个问题已经有了答案

从父文件夹导入模块

我不太清楚这个,__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日
0
0 Comments

一种方法是将您的项目路径公开如下:

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

0