Python ArgumentError:参数3::类型错误

Python ArgumentError:参数3::类型错误,python,anaconda,kivy,Python,Anaconda,Kivy,我正在通过nimiconda在win10上测试kivy 每次我在miniconda上运行Press F5时,就像第二次运行anaconda的kivy代码一样,consel都会抛出ArgumentError:Argument3::错误类型 我用Miniconda3测试kivy代码,也在Anaconda3中测试,同样的问题出现了,每次我第一次按F5,代码正常运行,kivy界面正常出现,如下所示: runfile('C:/Users/38477/.spyder-py3/temp.py', wdir='

我正在通过nimiconda在win10上测试kivy

每次我在miniconda上运行Press F5时,就像第二次运行anaconda的kivy代码一样,consel都会抛出ArgumentError:Argument3::错误类型

我用Miniconda3测试kivy代码,也在Anaconda3中测试,同样的问题出现了,每次我第一次按F5,代码正常运行,kivy界面正常出现,如下所示:

runfile('C:/Users/38477/.spyder-py3/temp.py', wdir='C:/Users/38477/.spyder-py3')

[INFO   ] [Logger      ] Record log in C:\Users\38477\.kivy\logs\kivy_19-07-20_1.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "G:\Miniconda3\lib\site-packages\kivy\__init__.py"
[INFO   ] [Python      ] v3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)]
[INFO   ] [Python      ] Interpreter at "G:\Miniconda3\pythonw.exe"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] Backend used <glew>
[INFO   ] [GL          ] OpenGL version <b'4.0.0 - Build 10.18.10.4885'>
[INFO   ] [GL          ] OpenGL vendor <b'Intel'>
[INFO   ] [GL          ] OpenGL renderer <b'Intel(R) HD Graphics 4000'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 0
[INFO   ] [GL          ] Shading version <b'4.00 - Build 10.18.10.4885'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [WindowSDL   ] exiting mainloop and closing.
[INFO   ] [Base        ] Leaving application in progress...
重新启动内核是一种可行的方法,但这意味着每次运行代码后都必须重新启动内核。这是正常的吗

环境


您不能每次都在相同的python执行中运行Kivy应用程序,这就是您需要重新启动内核的原因。我没用过miniconda,但我想你用过Spyder。为了在Spyder中顺利运行Kivy应用程序,您可以在外部系统中启用执行。 转到工具>>首选项。在“首选项”对话框中,转到“运行”选项卡并启用“在外部系统终端中执行”。 或者,您可以在每次执行之前重新启动内核。我想那会令人不安。
我希望这有帮助

您不能每次都在相同的python执行中运行Kivy应用程序,这就是您需要重新启动内核的原因。我没用过miniconda,但我想你用过Spyder。为了在Spyder中顺利运行Kivy应用程序,您可以在外部系统中启用执行。 转到工具>>首选项。在“首选项”对话框中,转到“运行”选项卡并启用“在外部系统终端中执行”。 或者,您可以在每次执行之前重新启动内核。我想那会令人不安。
我希望这有帮助

我曾经遇到过同样的问题,如果您使用spyder,您有3个选项可以解决它:

1.每次要运行代码时,请关闭并再次打开spyder

2.在外部系统终端中单击工具>首选项>运行>执行,然后单击确定。使用F5运行


3.控制台>在使用F5或F9运行应用程序之前重新启动内核我曾经遇到过同样的问题,如果您使用spyder,您有3个选项来解决它:

1.每次要运行代码时,请关闭并再次打开spyder

2.在外部系统终端中单击工具>首选项>运行>执行,然后单击确定。使用F5运行


3.控制台>在使用F5或F9运行应用程序之前重新启动内核

听起来这可能是在前一个应用程序关闭后,在同一进程中重新运行应用程序时产生的错误。这是一个错误,它不工作,但它没有使用太多,所以这可能已经通过。每次尝试使用一个新的环境。听起来这可能是在前一个应用程序关闭后,在同一进程中重新运行该应用程序引起的错误。这是一个错误,它不工作,但它没有使用太多,所以这可能已经通过。每次尝试使用新环境。
runfile('C:/Users/38477/.spyder-py3/temp.py', wdir='C:/Users/38477/.spyder-py3')
[INFO   ] [Base        ] Start application main loop
[ERROR  ] [Base        ] No event listeners have been created
[ERROR  ] [Base        ] Application will leave
[INFO   ] [Base        ] Leaving application in progress...
[INFO   ] [Base        ] Leaving application in progress...
Traceback (most recent call last):

File "<ipython-input-2-83710e3ec7f9>", line 1, in <module>
runfile('C:/Users/38477/.spyder-py3/temp.py', wdir='C:/Users/38477/.spyder-py3')

File"G:\Miniconda3\lib\sitepackages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
   execfile(filename, namespace)

File "G:\Miniconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

 File "C:/Users/38477/.spyder-py3/temp.py", line 15, in <module>
   TestApp().run()

 File "G:\Miniconda3\lib\site-packages\kivy\app.py", line 855, in run
   runTouchApp()

 File "G:\Miniconda3\lib\site-packages\kivy\base.py", line 506, in runTouchApp
   stopTouchApp()

 File "G:\Miniconda3\lib\site-packages\kivy\base.py", line 521, in stopTouchApp
   EventLoop.close()

 File "G:\Miniconda3\lib\site-packages\kivy\base.py", line 172, in close
   self.stop()

 File "G:\Miniconda3\lib\site-packages\kivy\base.py", line 184, in stop
   provider.stop()

 File "G:\Miniconda3\lib\site-packages\kivy\input\providers\wm_pen.py", line 111, in stop
   SetWindowLong_WndProc_wrapper(self.hwnd, self.old_windProc)

 File "G:\Miniconda3\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
from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()
active environment : base
active env location : G:\Miniconda3
shell level : 1
user config file : C:\Users\38477\.condarc
populated config files :
conda version : 4.7.9
conda-build version : not installed
python version : 3.7.3.final.0
virtual packages : __cuda=9.1
base environment : G:\Miniconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
 package cache : G:\Miniconda3\pkgs
                           C:\Users\38477\.conda\pkgs
                          C:\Users\38477\AppData\Local\conda\conda\pkgs
       envs directories : G:\Miniconda3\envs
                          C:\Users\38477\.conda\envs
                          C:\Users\38477\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.7.9 requests/2.21.0 CPython/3.7.3 Windows/10 Windows/10.0.17134
administrator : False
netrc file : None
offline mode : False