无法安装Kivy(Ubuntu 20.04,python 3.8)

无法安装Kivy(Ubuntu 20.04,python 3.8),python,installation,pip,kivy,Python,Installation,Pip,Kivy,我的Ubuntu 20.04笔记本电脑上安装了Python 3.8。我想运行一些使用Kivy的代码 当我尝试使用sudopip3安装Kivy安装Kivy时,我得到一个错误 Collecting Kivy Using cached Kivy-1.11.1.tar.gz (23.6 MB) ERROR: Command errored out with exit status 1: [...] 我可以用sudo pip3 install Kivy==2.0.0rc3安装版本2.0.0r

我的Ubuntu 20.04笔记本电脑上安装了Python 3.8。我想运行一些使用Kivy的代码

当我尝试使用
sudopip3安装Kivy
安装Kivy时,我得到一个错误

Collecting Kivy
  Using cached Kivy-1.11.1.tar.gz (23.6 MB)
    ERROR: Command errored out with exit status 1:
[...]
我可以用
sudo pip3 install Kivy==2.0.0rc3
安装版本2.0.0rc3,但我的代码不能用这个版本

 Traceback (most recent call last):
   File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 3417, in run_code
     exec(code_obj, self.user_global_ns, self.user_ns)
   File "<ipython-input-2-8c0a5b6d250a>", line 1, in <module>
     runfile('myDir/myFile.py', wdir='myDir/')
   File "/snap/pycharm-professional/218/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
     pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
   File "/snap/pycharm-professional/218/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
     exec(compile(contents+"\n", file, 'exec'), glob, loc)
   File "myDir/myFile.py", line 142, in <module>
     FreePosApp().run()
   File "/home/thomas/.local/lib/python3.8/site-packages/kivy/app.py", line 949, in run
     self._run_prepare()
   File "/home/thomas/.local/lib/python3.8/site-packages/kivy/app.py", line 919, in _run_prepare
     root = self.build()
   File "myDir/myFile.py", line 127, in build
     textbox = Button(text = textBoxes[key][2],id=str(key), size_hint = textBoxes[key][1], pos = textBoxes[key][0],
   File "/home/thomas/.local/lib/python3.8/site-packages/kivy/uix/behaviors/button.py", line 121, in __init__
     super(ButtonBehavior, self).__init__(**kwargs)
   File "/home/thomas/.local/lib/python3.8/site-packages/kivy/uix/label.py", line 318, in __init__
     super(Label, self).__init__(**kwargs)
   File "/home/thomas/.local/lib/python3.8/site-packages/kivy/uix/widget.py", line 350, in __init__
     super(Widget, self).__init__(**kwargs)
   File "kivy/_event.pyx", line 245, in kivy._event.EventDispatcher.__init__
 TypeError: object.__init__() takes exactly one argument (the instance to initialize)
Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py”,第3417行,运行代码
exec(代码对象、self.user\u全局、self.user\n)
文件“”,第1行,在
runfile('myDir/myFile.py',wdir='myDir/')
文件“/snap/pycharm professional/218/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py”,第197行,在runfile中
pydev_imports.execfile(文件名、全局变量、本地变量)#执行脚本
文件“/snap/pycharm professional/218/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py”,execfile中第18行
exec(编译(内容+“\n”,文件,'exec'),全局,loc)
文件“myDir/myFile.py”,第142行,在
FreePosApp().run()
文件“/home/thomas/.local/lib/python3.8/site packages/kivy/app.py”,第949行,运行中
self.\u run\u prepare()
文件“/home/thomas/.local/lib/python3.8/site packages/kivy/app.py”,第919行,在“运行”和“准备”中
root=self.build()
文件“myDir/myFile.py”,第127行,内部版本
textbox=按钮(text=textboxs[key][2],id=str(key),size\u hint=textboxs[key][1],pos=textboxs[key][0],
文件“/home/thomas/.local/lib/python3.8/site-packages/kivy/uix/behaviors/button.py”,第121行,在__
超级(按钮行为,自我)。\u初始(**kwargs)
文件“/home/thomas/.local/lib/python3.8/site packages/kivy/uix/label.py”,第318行,在__
超级(标签,自我)。\uuuuu初始化(**kwargs)
文件“/home/thomas/.local/lib/python3.8/site packages/kivy/uix/widget.py”,第350行,在__
超级(小部件,自我)。\uuuuu初始化(**kwargs)
文件“kivy/_event.pyx”,第245行,在kivy.\u event.EventDispatcher.\uu init中__
TypeError:object.\uuuu init\uuuuuuuu()只接受一个参数(要初始化的实例)
过程结束,退出代码137(被信号9:SIGKILL中断)

提前感谢

尝试使用以下命令更新setuptools

python -m pip install --upgrade --user pip setuptools

然后尝试安装kivy。

也许我已经过时了,但是python 3.8只与kivy的这个版本(kivy 2.0.0)兼容

kivy的稳定版本是1.11.1,它与python 2.7、3.5、3.6和3.7兼容

您应该尝试在Python3.7中安装它

如果您需要使用Python3.8,您应该阅读问题,并尝试“matham”建议


祝你好运!

非常感谢!这对我来说很有效。我很难安装python 3.7,但一旦安装完成,我很容易就安装了Kivy 1.1.1,源代码现在可以正常工作了!
pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/