python - ArgumentError 仅在第一次运行后发生

标签 python anaconda kivy ipython spyder

我在 Spyder 的 IPython 控制台中为 Anaconda 导航器使用 kivy 包。打开 Spyder 后,如果我使用 runfile(path, wdir=cwd),我的代码将毫无问题地运行。然而,在关闭弹出窗口后,如果我再次尝试运行该文件,我会收到错误消息:

   File "C:\Users\Me\Anaconda3\lib\site- 
   packages\kivy\input\providers\wm_common.py", line 122, in _closure
        oldAddr = func(hWnd, GWL_WNDPROC, cast(wndProc, c_void_p).value)

   ArgumentError: argument 3: <class 'TypeError'>: wrong type

我是 Anaconda 的新手,我想知道这里出了什么问题。任何帮助将非常感激。

我使用

在管理员 conda 终端中重新安装了 kivy
conda install -c conda-forge kivy

我创建了一个只有很少部分的虚拟应用程序来演示这个问题。我在下面包含了这段代码。

from kivy.app import App
from kivy.uix.widget import Widget


class FakeTool(Widget):
    pass


class FakeApp(App):
    def build(self):
        return FakeTool()


if __name__ == '__main__':
    FakeApp().run()

最佳答案

有类似的问题,在这篇文章中找到了解决方案:

https://stackoverflow.com/a/55057636/9752709

在再次启动您的应用之前使用 reset() 函数。

if __name__ == '__main__':
    FakeApp().run()
    reset()
    FakeApp().run()
    ...

关于python - ArgumentError 仅在第一次运行后发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56549427/

相关文章:

python - 制作闪烁的图像

python - Kivy 图像未显示在切换按钮内的网格布局中

kivy - kivy "instance"中有什么?像 on_pressed(self, instance, pos)

python - 使用 xpath 给定相邻节点的文本,获取 XML 节点的文本

python - Sklearn变压器确保输入变量长度一致?

python - 可以用正则表达式匹配字符重复吗?如何?

python - 如何安装名为数字的python软件包

python - 使用 Python 让客户端套接字等待服务器套接字

python - 将 Anaconda 安装从一个用户帐户移至另一个用户帐户

python - 模块可以通过 anaconda 提示符导入,但不能通过 python.exe 导入