解决Attempted relative import in non-package

├── a
│   └── b.py
├── c
│   ├── d.py
│   └── e.py

出现上面报错提示的场景是:
我在单独执行d.py 文件的时候(python c/d.py) ,d.py中有一行代码 from ..a.b import * 引起的。
这里说一下,因为我是单独执行的,并不是以项目整体去运行的,这里使用的都是绝对路径,程序中d调用b中的方法,会因为相对路径找不到而报错,所以想要导入b中的方法,写法如下:

import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))  # 退两层目录,所以dirname 是两个
from a.b import *

你可能感兴趣的:(后端,python)