关于import自己的包名运行报错

1、首先你可能是不经意间调用了某个包名,然后添加了点函数,然后突然就报错了,你会很郁闷,明明之前好好的,我也没动什么怎么就from xxx自己的包 imort xx报错了

2、现状:
比如你现在有两个文件,conf.py和common.py
conf

from common import mm_test


if __name__ == '__main__':
    mm_test()

common

def mm_test():
    pass

运行conf文件可以运行
然后你在conf添加了一个函数,然后在common调用
common


def mm_test():
    pass
from conf import yy_test
if __name__ == '__main__':
    yy_test()

然后运行common,报错提示:你看路径也没有错啊,怎么就报错,而且也用鼠标左键 + ctrl也能找到对应的函数或者变量
在这里插入图片描述

原因是:不能两个包之间来回的调用,具体是因为def __init__函数的作用,具体我也不太清楚
但是为什么会犯这种错误呢,原本我是想将不同类型的数据进行分类,比如config存放数据,common存放方法,但是由于有时候存放的数据不是固定的,是个变量,需要封装成函数或者类,在conf中已经导入了common的某些方法,但是在书写common的某些方法时,又需要调用conf的函数或者一些值,就导致我两边都进行了导入,于是报错了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值