Установка 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'))) "установить --record /tmp/pip-vcdy_iv_-record/install-record.txt - управляемый извне --single-версия -компилировать --install-заголовки /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
3 ответа
Хорошо, теперь я понял эту проблему. Это из-за установки пакетов кеша в пипсах. У меня в кэше были разбитые пакеты с китоном и киви, потому что каждый раз вместо загрузки нового пипа используется кеш, который уже сломан. А теперь как эти пакеты сломались из-за переключения версии Python по умолчанию sudo update-alternatives --config python3
здесь я установил python3.6 по умолчанию и загрузил все пакеты, но некоторая внутренняя работа ubuntu (не знаю) действительно не поддерживает python3.6, он поддерживает python3.5 из-за этой загрузки пакетов currept и идет в кеш и когда я переключаюсь в python3.5 Ubuntu работает довольно хорошо, но пакеты сломались.
Вместо пипа попробуйте 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
Попробуй установить pip install cython==0.25.0
а затем установите все требования официального руководства Kivy по установке.
Вполне возможно, что вы можете использовать более новую версию
cython
, но в прошлый раз, когда я пытался сcython 0.26
а такжеkivy 1.10
Я должен был понизитьcython
,