Установка Kivy Ubuntu 16.04 64-bit

os: linux (ubuntu 16.04 LTS, 64-bit) python_version: 3.6.3

  • Использование virtualenv.
  • Я пытался установить много версий KIVY со многими различными версиями Cython, но всегда я получал одну и ту же ошибку, как показано ниже.
  • После «pip install kivy» установите несколько пакетов: certifi (2017.11.5) chardet (3.0.4) Cython (0.26) documentstils (0.14) idna (2.6) Kivy-Garden (0.1.4) pip (9.0) .1) Pygments (2.2.0) запрашивает (2.18.4) setuptools (38.4.0) urllib3 (1.22) wheel (0.30.0)
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pip-build-c8ofsvs6/kivy/kivy/include -I/usr/include/python3.6m -I/home/ubuntu/venv/include/python3.6m -c /tmp/pip-build-c8ofsvs6/kivy/kivy/_event.c -o

build / temp. linux-x86_64-3.6 / tmp / pip-build-c8ofsvs6 / kivy / kivy / _event.o /tmp/pip-build-c8ofsvs6/kivy/kivy/_event.c:4:20: фатальная ошибка: Python.h: нет такая компиляция файла или каталога прекращена. ошибка: команда 'x86_64-linux-gnu-gcc' завершилась неудачно с состоянием выхода 1

  ----------------------------------------
  Failed building wheel for kivy
  Running setup.py clean for kivy
Failed to build kivy
Installing collected packages: kivy
  Running setup.py install for kivy ... error
    Complete output from command /home/ubuntu/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-c8ofsvs6/kivy/setup.py';f=getattr(tokenize,

'open', open) (файл ); code = f.read (). replace ('\ r \ n', '\ n'); f.close (); exec (скомпилировать (код, файл , 'exec')) "install --record / tmp / pip- vcdy_iv_-record / install-record.txt - управляемый извне - одна версия --compile --install-headers /home/ubuntu/venv/include/site/python3.6/kivy: использование distutils

и последний

>     > Detected compiler is unix
>     >     skipping '/tmp/pip-build-c8ofsvs6/kivy/kivy/_event.c' Cython extension (up-to-date)
>     >     building 'kivy._event' extension
>     >     creating build/temp.linux-x86_64-3.6
>     >     creating build/temp.linux-x86_64-3.6/tmp
>     >     creating build/temp.linux-x86_64-3.6/tmp/pip-build-c8ofsvs6
>     >     creating build/temp.linux-x86_64-3.6/tmp/pip-build-c8ofsvs6/kivy
>     >     creating build/temp.linux-x86_64-3.6/tmp/pip-build-c8ofsvs6/kivy/kivy
>     >     x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pip-build-c8ofsvs6/kivy/kivy/include -I/usr/include/python3.6m -I/home/ubuntu/venv/include/python3.6m -c /tmp/pip-build-c8ofsvs6/kivy/kivy/_event.c -o
>     > build/temp.linux-x86_64-3.6/tmp/pip-build-c8ofsvs6/kivy/kivy/_event.o
>     >     /tmp/pip-build-c8ofsvs6/kivy/kivy/_event.c:4:20: fatal error: Python.h: No such file or directory
>     >     compilation terminated.
>     >      error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
>     >     
>     >     ---------------------------------------- Command "/home/ubuntu/venv/bin/python3 -u -c "import setuptools,
>     > tokenize;__file__='/tmp/pip-build-c8ofsvs6/kivy/setup.py';f=getattr(tokenize,
>     > 'open', open)(__file__);code=f.read().replace('\r\n',
>     > '\n');f.close();exec(compile(code, __file__, 'exec'))" install
>     > --record /tmp/pip-vcdy_iv_-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ubuntu/venv/include/site/python3.6/kivy" failed with error code
>     > 1 in /tmp/pip-build-c8ofsvs6/kivy/
  • Я также пробовал с Cython 0.25.2
1
задан 16 January 2018 в 11:46

3 ответа

Хорошо, теперь я решил эту проблему. Это из-за установки пакетов кеша в пипсах. У меня в кэше были разбитые пакеты с китоном и киви, потому что каждый раз вместо загрузки нового пипа используется кеш, который уже сломан. А теперь, как эти пакеты сломались из-за переключения версии Python по умолчанию sudo update-alternatives --config python3, здесь я установил Python3.6 по умолчанию и загрузил все пакеты, но некоторая внутренняя работа Ubuntu (не знаю) действительно не поддерживает Python3.6, он поддерживает Python3 .5 из-за этой загрузки пакеты регенерируются и переходят в кеш, а когда я переключаюсь на python3.5, Ubuntu работает довольно хорошо, но пакеты не работают.

2
ответ дан 16 January 2018 в 11:46

Вместо пипа попробуйте apt:

 sudo add-apt-repository ppa:kivy-team/kivy
 sudo apt-get update
 sudo apt-get install python-kivy # or python3-kivy if you're using python3
1
ответ дан 16 January 2018 в 11:46

Попробуйте установить pip install cython==0.25.0, а затем установить все требования из Официальные инструкции Kivy по установке .

Возможно, вы можете использовать более новую версию cython, но в последний раз, когда я пытался использовать cython 0.26 и kivy 1.10, мне пришлось понизить рейтинг cython.

0
ответ дан 16 January 2018 в 11:46

Другие вопросы по тегам:

Похожие вопросы: