我一直在寻找它已经在stackoverflow中回答,但我没有找到解决方案。
我使用3.6.2版本的python,我有一个像这样的文件夹结构
backend
| __init__.py
|
|------- entity_extraction\
| __init__.py
| main.py
|------- index\
| __init__.py
| main.py
|------- lib\
| __init__.py
| |--- db\
| __init__.py
|------------ |--- models\
| __init__.py
| model.py
如果我以这种方式从索引文件夹中的main.py导入model.py并运行python main.py:
from backend.lib.db.models import *
我有这个错误:
Traceback (most recent call last):
File "main.py", line 5, in <module>
from backend.lib.db.models import *
ModuleNotFoundError: No module named 'backend'
如何以绝对方式导入当前运行脚本文件夹之外的文件夹中的模块? 唯一有效的方法是import sys并添加uplevel文件夹路径,但似乎是一个黑客。
谢谢!