ArgumentError возникает только после первого запуска - PullRequest
1 голос
/ 11 июня 2019

Я использую пакет kivy в консоли IPython Spyder для навигатора Anaconda. После открытия 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

Я новичок в Анаконде, и мне интересно, что здесь не так. Любая помощь приветствуется.

Я переустановил kivy в терминале администратора conda, используя

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()

1 Ответ

2 голосов
/ 01 июля 2019

Имел подобную проблему, нашел решение в этом сообщении:

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

Используйте функцию reset () перед повторным запуском приложения.

if __name__ == '__main__':
    FakeApp().run()
    reset()
    FakeApp().run()
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...