马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
报错 :module 'collections' has no attribute 'Sequence',这是怎末回事?
import easygui as g
import sys
while 1:
g.msgbox("嗨,欢迎进入第一个界面小游戏^_^")
msg ="请问你希望在鱼C工作室学习到什么知识呢?"
title = "小游戏互动"
choices = ["谈恋爱", "编程", "OOXX", "琴棋书画"]
choice = g.choicebox(msg, title, choices)
# 注意,msgbox的参数是一个字符串
# 如果用户选择Cancel,该函数返回None
g.msgbox("你的选择是: " + str(choice), "结果")
msg = "你希望重新开始小游戏吗?"
title = "请选择"
# 弹出一个Continue/Cancel对话框
if g.ccbox(msg, title):
pass # 如果用户选择Continue
else:
sys.exit(0) # 如果用户选择Cancel
本帖最后由 isdkz 于 2022-3-15 19:45 编辑
这是 python3.10 的问题,因为 python3.10 把 Sequence 这个类移至了 collections.abc 模块,
而 easygui 还没更新版本来适配 python3.10,依然使用 collections 模块引入 Sequence 这个类,所以就出错了,
你可以看看这个,https://stackoverflow.com/questi ... -module-collections,
里面的解答中有提到 collections 模块根据 python 版本的迭代历程
解决方法:
File "C:\Users\*****\AppData\Local\Programs\Python\Python310\lib\site-packages\easygui\boxes\choice_box.py", line 95, in make_list_or_none
if not isinstance(obj, collections.Sequence):
AttributeError: module 'collections' has no attribute 'Sequence'
根据你相对应的报错信息找到 File 后面的这个文件,
比如我的是 C:\Users\*****\AppData\Local\Programs\Python\Python310\lib\site-packages\easygui\boxes\choice_box.py 这个文件,
这个路径有点长,你不用一级一级地找,直接把路径复制到资源管理器的地址栏即可,
注:你的路径可能会跟我的不一样,你根据你自己的报错信息那里复制
把这个文件的第一行 import collections 改成import collections.abc as collections
就可以了
|