#python #installation #pip #kivy
#python #установка #pip #kivy
Вопрос:
На моем ноутбуке Ubuntu 20.04 установлен Python 3.8. Я хочу запустить некоторый предоставленный мне код, который использует Kivy.
Когда я пытаюсь установить Kivy с помощью sudo pip3 install Kivy
, я получаю сообщение об ошибке
Collecting Kivy
Using cached Kivy-1.11.1.tar.gz (23.6 MB)
ERROR: Command errored out with exit status 1:
[...]
Я могу установить версию 2.0.0rc3 с sudo pip3 install Kivy==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)
Заранее спасибо
Ответ №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/
удачи!
Комментарии:
1. Большое вам спасибо! Это сработало для меня. Я изо всех сил пытался установить python 3.7, но как только это было сделано, я легко установил Kivy 1.1.1, и исходный код теперь работает!
Ответ №2:
Попробуйте обновить setuptools с помощью следующей команды.
python -m pip install --upgrade --user pip setuptools
затем попробуйте установить kivy.