我有以下文件夹结构:
PROJECT_DIR
| --helpers
| |--utils.py
| --stuff
| |--script.py 我需要将script.py作为脚本运行,从它,我需要使用一个来自helpers/utils.py的函数。
我尝试过导入from ..helpers.utils import func,但是它写的是ImportError: attempted relative import with no known parent package,所以我在每个文件夹中添加了一个空的init.py文件,包括PROJECT_DIR。然后我读到,在作为脚本运行时,python编译器像运行主模块一样运行脚本,因此它看不到外部的任何其他模块,因此不能使用相对导入。
但是,如果我需要使用这个功能,我该怎么办呢?这是一个相当简单的用例,我无法理解为什么从当前目录之外的文件导入函数如此困难。我对为什么不感兴趣,我只想知道一个解决方案,人们是如何做到这一点的。
发布于 2020-08-21 15:19:59
root_project
└── proj
├── __init__.py
├── helpers
│ ├── __init__.py
│ └── utils.py
└── stuff
├── __init__.py
└── script.py使用此结构,只需从cd到root_project并使用以下命令:
python -m proj.stuff.scripthttps://stackoverflow.com/questions/63525020
复制相似问题