python 循环引用的坑_python循环引用解决 cannot import partially initialized

前情

在python项目中,通常我们要将功能划分为多个文件,

可能出现一些,各模块需要一些公共的值、实例,同时相互存在循环引用的问题。

这种循环引用在 静态语 中一般没有问题,python中无法正常运行。

本文指导明如何简单的解决这个问题。

出错信息为:cannot import name 'xxx' from partially initialized module 'xxxx' (most likely due to a circular import)

程序结构

项目:.

│ run.py #项目主入口

├─appdir

│ __init__.py

│ comm_base.py #公共类和值

│ user_info.py #用户信息表

├─weixinpay

config.py #微信支付的公共值

pay.py #微信支付

健康的引用关系:

run.pay 可以import appdir.comm_base

可以from appdir.comm_base import XXX

可以import user_info

可以import user_info

commbase.py 不可以引用run,也不可以引用user_info等

user_info.py可以import appdir.comm_bse,不能引用run

user_info.py可以from appdir.comm_bse import XXX 不能引用run

user_info.py可以import weixinpay.pay每一次认真的整理,如果对您有用。希望点赞并关注我。

您的鼓励将助力我们共同成长,谢谢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值