Python 打包:了解根文件夹,从包文件导入,
Python packaging: understanding root folder, importing from package files,
我想更好地了解模块内导入的工作原理,以及如何删除代码分析中的错误条目。
我有一个包结构
/packagename
├─ /src
├─ /utils
| ├─ __init__.py
| └─ utils.py
├─ __init__.py
├─ main.py
在我的 main.py
文件中,第一行之一是
你注意到PyCharm的代码分析找不到utils
文件夹。但是,运行/调试到这一行时,执行没有问题:
我发现在文件夹前面放一个点可以消除代码分析错误:
但最终导致
ImportError: attempted relative import with no known parent package
执行代码时。以下是调试设置:
这些设置是否符合最佳实践 python 标准?
TLDR; utils
之前没有点的东西可以正常工作,但我想了解如何修复错误。
谢谢!
绝对导入使用项目根文件夹中的完整路径指定要导入的资源。
- 示例:
from package1 import module1
from package1.module2 import function1
相对导入指定相对于当前位置(即导入语句所在的位置)要导入的资源。
- 示例:
from .some_module import some_class
from ..some_package import some_function
- 我的建议:使用绝对导入方式。
首先在项目根目录中键入路径。
我想更好地了解模块内导入的工作原理,以及如何删除代码分析中的错误条目。
我有一个包结构
/packagename
├─ /src
├─ /utils
| ├─ __init__.py
| └─ utils.py
├─ __init__.py
├─ main.py
在我的 main.py
文件中,第一行之一是
你注意到PyCharm的代码分析找不到utils
文件夹。但是,运行/调试到这一行时,执行没有问题:
我发现在文件夹前面放一个点可以消除代码分析错误:
但最终导致
ImportError: attempted relative import with no known parent package
执行代码时。以下是调试设置:
这些设置是否符合最佳实践 python 标准?
TLDR; utils
之前没有点的东西可以正常工作,但我想了解如何修复错误。
谢谢!
绝对导入使用项目根文件夹中的完整路径指定要导入的资源。
- 示例:
from package1 import module1
from package1.module2 import function1
相对导入指定相对于当前位置(即导入语句所在的位置)要导入的资源。
- 示例:
from .some_module import some_class
from ..some_package import some_function
- 我的建议:使用绝对导入方式。
首先在项目根目录中键入路径。