Setuptools как создать разделяемую библиотеку перед установкой пакета

В моем пакете есть файлы *.py и файлы *.c, файлы *.py используют ctypes для импорта общей библиотеки, созданной из исходного кода c.

Теперь у меня проблема, как написать мой setup.py.

Сценарий установки должен собрать my_c_file.c в my_c_file.so, а затем скопировать его в libpath python.

Я хочу знать, что такое «должен»?


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