Ошибка установки Cython GCC

Попытка установить Cython на небольшой VPS с Ubuntu Server. Делал

sudo apt-get install gcc

а потом

python setup.py install

В каталоге Cython, но я получаю эту странную ошибку.

running install
running build
running build_py
running build_ext
building 'Cython.Plex.Scanners' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c Cython/Plex/Scanners.c -o build/temp.linux-x86_64-2.6/Cython/Plex/Scanners.o
Cython/Plex/Scanners.c:4:20: error: Python.h: No such file or directory
Cython/Plex/Scanners.c:6:6: error: #error Python headers needed to compile C extensions, please install development version of Python.
error: command 'gcc' failed with exit status 1

Зачем мне нужна «разрабатываемая версия Python»? Запуск Python 2.6.5 (r265:79063, 16 апреля 2010 г., 13:57:41). Спасибо!


person DizzyDoo    schedule 15.12.2010    source источник


Ответы (2)


Вам нужна версия Python для разработчиков, то есть заголовочные файлы Python (Python.h).

sudo apt-get install python-dev
person user225312    schedule 15.12.2010
comment
Хорошо! Могу я спросить, зачем это нужно? Моя машина для разработки (Windows) просто имеет стандартный Python 2.6 и работает нормально. Опять же, я установил через пакетный установщик, так что он мог включать все. - person DizzyDoo; 15.12.2010
comment
Простым ответом было бы то, что некоторые исходные файлы в Cython # включают некоторые файлы заголовков Python, поэтому вам нужны заголовки Python для компиляции Cython. Если вы хотите знать, почему эти файлы используются, вам нужно посмотреть исходный код Cython. - person binW; 15.12.2010
comment
Это также связано с тем, что Ubuntu и Debian решили разделить пакеты разработки. - person user225312; 15.12.2010
comment
Стандартный дистрибутив Windows включает заголовочные файлы. В некоторых Linux установка по умолчанию не работает (потому что дистрибьюторы считают забавным опускать их вместе с, например, частями stdlib (tkinter):/). - person ; 15.12.2010
comment
Я просто установил python-devel в CentOS 7. Возможно, необходимо знать версию Python, требуемую в ОС. - person Oluwatobi Samuel Omisakin; 11.07.2018

Вам нужны заголовки, включенные в разрабатываемую версию Python, то есть python.h. Он должен быть упакован в Ubuntu как python-dev.

person asthasr    schedule 15.12.2010