Python ImportError: cannot import name ‘Xxxx‘ from partially initialized module ‘xx.xx.xx‘

· 会写bug的大佬 · 124阅读 · 2022-10-01

详细描述

ImportError: cannot import name ‘Xxxx‘ from partially initialized module ‘xx.xx.xx‘

版本信息

Python3

解决方案

在pyhton中,遇到这个问题,检查完代码,没有报错或者已经更改了提示的错误之后的时候,运行时还是报这个错误时,很大可能是死锁问题, 根本原因是:两个文件相互导包,构成了一个内循环,解决思路:规划好业务逻辑,避免相互导包。

例如:

执行数据库操作需要pymysql,代码如下:

import pymysql

mydb = pymysql.connect(
host="127.0.0.1",
user="vt_cms",
passwd="8YGpaHzdKLZX34Fe",
database="vt_cms"
)
print(mydb)

运行结果:

Traceback (most recent call last):
  File "C:/Users/hp/PycharmProjects/pythonProject/bug/pymysql.py", line 1, in <module>
    import pymysql
  File "C:\Users\hp\PycharmProjects\pythonProject\bug\pymysql.py", line 3, in <module>
    mydb = pymysql.connect(
AttributeError: partially initialized module 'pymysql' has no attribute 'connect' (most likely due to a circular import)

只需要修改当前文件名即可,防止自己调用自己,产生死锁

文章有用

已有 20人 推荐该文章,推荐越多越容易获得的官方扶持

微信扫码分享