Python 导入包失败,提示“most likely due to a circular import”
详细报错信息如下:

ImportError: cannot import name 'DoReplace' from partially initialized module 'common.do_replace' (most likely due to a circular import) (D:\workxxx\\xxxx_work\common\do_replace.py)
python-BaseException
报错的意思:
most likely due to a circular import:很多可能是循环引用导致失败
开始对这个错误没有概念,什么是循环引用导致引入失败
后面通过一篇文章,大致了解到循环引入,大概是两个导入A和B,A引用了B,B又引用了 A,导致了循环

解决方案:
调整代码的位置,解决循环引用的关系
- 去掉DoReplace(),里面引用HttpOms()的代码
- 将HttpOms(),放回到当前文件里面使用
修改前:
DoReplace文件:
HttpOms().get_billcode()
QH_billcode = com_obj.qh_billcode
smallbillcode = commonFun.create_bill_no()
修改后
DoReplace文件:
QH_billcode = com_obj.qh_billcode
smallbillcode = commonFun.create_bill_no()
调整后的HttpOms()的代码
HttpOms().get_billcode()
param = DoReplace().replace_create_posorder(param_source)
Python 导入包失败,提示“most likely due to a circular import”的更多相关文章
- python导入包失败ModuleNotFoundError: No module named 'matplotlib.pyplot'; 'matplotlib' is not a package
最近在看 python,在使用matplotlib进行绘图时,提示:ModuleNotFoundError: No module named 'matplotlib.pyplot'; 'matplot ...
- maven自动导入包失败
pom.xml文件依赖添加后,让maven自动导入包,老是失败,文件夹中有其他文件,就是缺少jar文件 解决: // 进入pom.xml所在的文件夹,执行下面的命令,下载jar包 mvn -f pom ...
- IDEA推荐配置(自动导入包、提示不区分大小写)
设置快捷键方式为eclipse 设置代码提示不区分大小写 自动导入包 可以通过 Ctrl + 鼠标滚轮 来控制代码字体大小显示 显示行号和显示区分方法线 代码一行显示不下,软分行显示,点击鼠标右键 增 ...
- 解决python在cmd运行时导入包失败,出现错误信息 "ModuleNotFoundError: No module named ***"
1.下图为我的自动化测试工程结构图 我通过运行run.bat批处理文件,调用cmd控制台运行start_run.py来开始我的自动化测试,但是出现如下错误: 大家可能知道我们的工程在IDE(Pycha ...
- 解决python在命令行中运行时导入包失败,出现错误信息 "ModuleNotFoundError: No module named ***"
转自https://www.cnblogs.com/dreamyu/p/7889959.html https://www.cnblogs.com/lifeofershisui/p/8135702.ht ...
- python3 导入包总提示no moudle named xxx
一.python中的包有三种 1.python自带的包,如sys, os 2.python的第三方库,如 requests, selenium 3.自己写的.py文件 二.今天主要说下导入自己写的包 ...
- python导入包出错:ImportError: No module named XXXXX
python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用. 如果想 ...
- pycharm中导入包失败的解决办法
将鼠标移动到requests处,出现如下提示 按住alt+enter键,点击install package requests即可安装requests包 安装成功后
- python 导入包
mkdir fff dddtouch ddd/test.py ddd/__init__.py sudo vi fff/te.py写入:import syssys.path.append('../')f ...
- python导包显示No module named XXX问题
最近用sublime text写python脚本,在导包是一直显示No module named XXX. 问题描述: 首先文件夹的目录结构如下: count.py文件,代码如下: #coding=u ...
随机推荐
- Process-与操作系统中的进程进行交互
1.Process介绍 在Java中,Process类是一个抽象类,它提供了与操作系统中的进程进行交互的方法.当你在Java程序中启动一个新的进程(例如,运行一个外部程序或脚本)时,JVM会创建一个P ...
- C语言:水仙花
//水仙花数 也就是指一个 3 位数,它的每个单位上的数字的 3次方之和等于它本身 (例如:1^3 + 5^3+ 3^3 = 153). #include<stdio.h> int mai ...
- JDK源码阅读-------自学笔记(二十二)(java.util.ArrayList自定义晋级,ArrayList实战详解)
简介(Introduction) 上篇文章主要介绍了ArrayList自行模仿建立的方式,那么,其实这个类不是一次性就那么完美的,现在做一个一步步变成那样完整的ArrayList的版本升级测试. ...
- PageOffice——动态填充Word模板并在线编辑
说明:使用pageoffice动态给word模板填充数据,插入图片.excel.word格式的文件和创建表格 一.准备工作: 本地创建一个doc或者docx格式的文件,在文件中需要插入数据的地方设置以 ...
- apisix~集成服务发现注册中心
摘要 当业务量发生变化时,需要对上游服务进行扩缩容,或者因服务器硬件故障需要更换服务器.如果网关是通过配置来维护上游服务信息,在微服务架构模式下,其带来的维护成本可想而知.再者因不能及时更新这些信息, ...
- Windows Server 2022 安装
获取 Windows Server 2022 https://www.microsoft.com/zh-cn/evalcenter/evaluate-windows-server-2022 查看 Wi ...
- Django——启动项目时报错mysqlclient
报错内容如下: Watching for file changes with StatReloader Exception in thread django-main-thread: Tracebac ...
- Ubuntu20.04安装MySQL5.7
ubuntu 20.04系统自带源直接安装的是MySQL 8.0,要安装MySQL 5.7的话,需要先换源. 1.换源 sudo cp /etc/apt/sources.list /etc/apt/s ...
- mysql 5.6 inner join and 慢优化
慢示例: SELECT o.id FROM o_schoolnotice o INNER JOIN o_schoolnotice_parent p ON o.id = p.noticeid AND p ...
- Android 13 - Media框架(29)- MediaCodec(四)
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解了如何通过 onInputBufferAvailable 和 getInputBuffer 获取到 input buffer inde ...