Kasafc 发表于 2020-5-30 23:00:23

easygui报错

easygui学习文档里面,2.一个简单的例子:
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
复制代码运行后报错了:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\homework\easygui.py", line 1, in <module>
    import easygui as g
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\homework\easygui.py", line 5, in <module>
    g.msgbox('嗨,欢迎进入第一个界面小游戏^_^')
AttributeError: partially initialized module 'easygui' has no attribute 'msgbox' (most likely due to a circular import)
为什么???{:10_266:}

冬雪雪冬 发表于 2020-5-30 23:03:25

因为你的程序也叫easygui,import导入的不是需要的模块,而是你的程序。将你的文件名改成别的。

青出于蓝 发表于 2020-5-31 06:55:36

之前我也这样来着{:10_266:},把你目前这个文件的文件名改一下,就可以了

Twilight6 发表于 2020-5-31 07:44:17

因为 Python 导入模块会先在当前目录收索模块名

因为你的脚本名和模块名相同,导致 Python 先搜索到你的同名脚本

而不是真正的模块脚本,因为你自己写的代码里,没有那些方法

所以调用自然报错,建议以后脚本名不要直接用模块名,你加个数字,或者下划线啥的,区分下
页: [1]
查看完整版本: easygui报错