栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python循环引用解决 cannot import partially initialize

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python循环引用解决 cannot import partially initialize

文章目录
      • 1. 问题
      • 2. 程序结构
      • 3. 健康的引用关系

1. 问题

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

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

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

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

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

2. 程序结构
项目:.
│  run.py  #项目主入口        
├─appdir
│   __init__.py
│   comm_base.py  #公共类和值
│   user_info.py  #用户信息表       
├─weixinpay
      config.py    #微信支付的公共值
      pay.py       #微信支付
3. 健康的引用关系

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991161.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号