У меня есть скрипт установки distutils с разделом расширения, который выглядит примерно так:
from distutils.core import setup, Extension
my_module = Extension('my_module',
sources = ['my_file.c', 'my_other_file.c'])
setup (name = 'my_module',
version = '1.0',
description = 'My module',
ext_modules = [my_module])
Запуск setup.py build
отлично работает на моем Mac. Когда я перехожу на компьютер Debian, происходит сбой:
error: Python/Python.h: No such file or directory
У меня установлены python2.6
и python2.6-dev
, и файл присутствует в /usr/include/Python2.6
.
Команда, которую она выполняет для файла проблемы:
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c my_module.c -o -build/XYZ/my_module.o
Так что это происходит в месте расположения файла заголовка.
Единственное очевидное различие между средой Mac против Linux - это gcc-4.2 против gcc-4.4 и Python 2.7 против Python 2.6
Идеи
EDIT:
В рассматриваемом файле C:
#include <Python/Python.h>
#include <Python/structmember.h>