解决Attempted relative import in non-package 或ImportError: No module named xx

├── 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 *
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值