我在从 python 项目中的子文件夹导入时遇到问题
I have problem with import from subfolders in python project
你好,我正在处理我的第一个 python 项目,我在从项目
中的子文件夹导入时遇到问题
例如我的项目树
C:\USERS\AHMAD\DESKTOP\myProject
│
├───project
│ │ __init__.py
│ │
│ ├───core
│ │ config.py
│ │ __init__.py
│ │
│ ├───libs
│ │ lib1.py
│ │ __init__.py
│ │
│ └───modules
│ │ __init__.py
│ │
│ ├───module1
│ | script1.py
│ │ __init__.py
│ │
│ ├───module2
│ │ __init__.py
│ │
│ ├───module3
│ │ __init__.py
│ │
│ └───module4
│ __init__.py
现在在模块 1 中的 script1 我如何从 core 文件夹导入配置文件? ?那可能吗 ?请帮忙!!
尝试相对导入向后导航:
从...核心导入配置
'core'前的每个点代表从script1.py
开始的父模块
所以,第一个是'module1',第二个是'modules',第三个是'project'。
此问题已由以下人员回答:Relative imports for the billionth time
但重申一下,假设 script1.py
是包 project
的子模块,您可以简单地使用绝对或相对导入:
from project.core import config
或
from ...core import config
但是,这并不意味着您可以 运行 脚本 python script1.py
。这将不起作用(并将导致 ModuleNotFoundError
)。相对和绝对导入仅在 python 文件被视为模块时有效。当您直接通过 python filename
运行 一个 python 文件时,它被视为顶级(主要)python 脚本并且其 __name__
属性设置为 "__main__"
。你通常不应该执行模块文件,但是如果你必须,在包之上的目录级别,运行:
python -m project.modules.module1.script1
你好,我正在处理我的第一个 python 项目,我在从项目
中的子文件夹导入时遇到问题例如我的项目树
C:\USERS\AHMAD\DESKTOP\myProject
│
├───project
│ │ __init__.py
│ │
│ ├───core
│ │ config.py
│ │ __init__.py
│ │
│ ├───libs
│ │ lib1.py
│ │ __init__.py
│ │
│ └───modules
│ │ __init__.py
│ │
│ ├───module1
│ | script1.py
│ │ __init__.py
│ │
│ ├───module2
│ │ __init__.py
│ │
│ ├───module3
│ │ __init__.py
│ │
│ └───module4
│ __init__.py
现在在模块 1 中的 script1 我如何从 core 文件夹导入配置文件? ?那可能吗 ?请帮忙!!
尝试相对导入向后导航:
从...核心导入配置
'core'前的每个点代表从script1.py
开始的父模块所以,第一个是'module1',第二个是'modules',第三个是'project'。
此问题已由以下人员回答:Relative imports for the billionth time
但重申一下,假设 script1.py
是包 project
的子模块,您可以简单地使用绝对或相对导入:
from project.core import config
或
from ...core import config
但是,这并不意味着您可以 运行 脚本 python script1.py
。这将不起作用(并将导致 ModuleNotFoundError
)。相对和绝对导入仅在 python 文件被视为模块时有效。当您直接通过 python filename
运行 一个 python 文件时,它被视为顶级(主要)python 脚本并且其 __name__
属性设置为 "__main__"
。你通常不应该执行模块文件,但是如果你必须,在包之上的目录级别,运行:
python -m project.modules.module1.script1