詳細報錯信息如下:
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)