绝对导入python 3不起作用

时间:2018-04-25 10:03:50

标签: python python-3.x python-import

我一直在寻找它已经在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文件夹路径,但似乎是一个黑客。

谢谢!

0 个答案:

没有答案