我重构了一些代码并将其放在单独的目录中,突然间,解释器无法找到我的任何自定义模块。
我的包结构如下所示:
etl3
__init__.py
inst_config
__init__.py
config3.py
inst_utils
__init__.py
etc...
jira
filetorun.py
etc...
我试图在jira目录中运行该文件。当它位于etl3\
目录下时,它可以找到它,因为它们位于同一目录中。然而,一旦嵌套,它就找不到它们。
我运行python解释器,并打印我的sys.path
。我可以在那里看到C:\etl3\inst_config\
的路径,这就是为什么我在jira
目录中无法找到它的原因感到困惑的原因。
答案 0 :(得分:2)
当inst_config
文件夹位于路径上时,您只需直接从中导入文件:
import config3
但是当您的PATH上有C:\etl3\
时,您可以导入那里定义的模块,在这种情况下,它将是包inst_config
及其子模块:
import inst_config.config3
# or
from inst_config import config3
答案 1 :(得分:0)
from etl3.inst_config import YourClassHere
(推荐)或
import etl3.inst_config.config3