【问题标题】:Cannot install Kivy (Ubuntu 20.04, python 3.8)无法安装 Kivy(Ubuntu 20.04,python 3.8)
【发布时间】:2021-01-28 23:37:25
【问题描述】:

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

当我尝试使用 sudo pip3 install 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)

提前致谢

【问题讨论】:

    标签: python installation pip kivy


    【解决方案1】:

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

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

    您应该尝试在 python 3.7 中安装它。

    如果你需要使用python 3.8,你应该阅读问题https://github.com/kivy/kivy/issues/6563,并尝试“matham”的建议。

    pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/
    

    祝你好运!

    【讨论】:

    • 非常感谢!这对我有用。我努力安装 python 3.7,但一旦完成,我很容易安装 Kivy 1.1.1,源代码现在可以工作了!
    【解决方案2】:

    尝试使用以下命令更新 setuptools。

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

    然后尝试安装kivy。

    【讨论】:

      猜你喜欢
      • 2020-10-04
      • 2020-07-03
      • 2020-10-03
      • 2021-05-24
      • 2020-12-08
      • 2021-11-28
      • 1970-01-01
      • 2022-08-17
      • 2023-01-13
      相关资源
      最近更新 更多