前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3 成环引用所导致的莫名报错

Python3 成环引用所导致的莫名报错

原创
作者头像
风津渡
发布2019-10-14 21:14:42
5930
发布2019-10-14 21:14:42
举报
文章被收录于专栏:工作记录

今天碰到个很奇怪的问题,如果用如下的代码

代码语言:txt
复制
from common.rpc.message.messager import MesssageClient

就会报如下错误:

ImportError: cannot import name 'MesssageClient' from 'common.rpc.message.messager'

但是呢,改成如下代码就不会有问题

from common.rpc.message import message

messager.xxxx()

仔细研究了下,发现是两个文件彼此互相引用了,成环了,导致其报错。

解决方法也很简单,把

代码语言:txt
复制
from common.rpc.message.messager import MesssageClient

放到对应所使用的函数中即可搞定问题。

原理就是,不让彼此引用的他们 同时 被引用就可以了~

A -> B -> A,这种模式肯定会报错

但A -> B, B -> A(即A引用B,B不同时引用A即可解决问题)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档