Setuptools как да изградите споделена библиотека преди инсталиране на пакет

Моят пакет има *.py файлове и *.c файлове, *.py файловете използват ctypes за импортиране на споделена библиотека, създадена от c източника.

Сега имам проблем как да напиша моя setup.py.

Скриптът за настройка трябва да изгради my_c_file.c към my_c_file.so и след това да го копира в python libpath.

Искам да знам какъв е начинът „трябва“?


person hit9    schedule 31.10.2013    source източник


Отговори (1)


Вероятно трябва да погледнете Изграждане на C и C++ разширения с distutils.

Ако създадете файл setup.py около примера по-долу, setuptools трябва да компилира вашия c файл в my_c_lib.so и автоматично да го добави към вашия инсталиран пакет (нетествано).

from distutils.core import setup, Extension

c_module = Extension('my_c_lib',
                sources = ['my_c_file.c'])

setup (name = 'my_package',
    version = '1.0',
    description = 'This is a package in which I compile a C library.',
    ext_modules = [c_module])
person Joao Cordeiro    schedule 08.01.2014