Форум сайта python.su
Добрый день, подскажите пожалуйста как мне правильно оформить setup файл, чтобы при установке происходила компиляция платформо-зависимых компонентов.
Я написал на go определенный функционал и компилирую shared library, которую вызываю из python при помощи ctypes и в целом все хорошо, но хочется сделать инстраллер python обертки, который будет сам запускать сборку shared library и устанавливать библиотеку.
Знаю, что такое можно сделать для расширений написанных на си, а как такое сделать для расширений написанных на другом языке не знаю, подскажите пожалуйста.
Офлайн
Я не подскажу как именно, могу задать направление. Посмотрите на модуль distutils, возможно это то что вам нужно, хотя он чаще и упоминается когда речь идет о С расширениях. Ну и в принципе никто не мешает вам через subprocess вызвать компилятор и сделать необходимые процедуры. Можно попробовать посмотреть как подобное реализовано в существующих пакетах. На вскидку могу вспомнить numpy, matplotlib, надо искать в общем.
Офлайн
Думаю это плохая идея. Если сишный компилятор еще можно ожидать в наличии то Go? в большинстве случаев его не будет если вы его не будете ставить как зависимость.
Офлайн
doza_and
Ну почему плохая? Всегда были, есть и будут начальные требования для установки пакетов. Обычно в документации указаны в разделе How To install
Офлайн
JOHN_16Более того, они обычно пишутся в описании зависимостей не важно что вы используете pacman dpkg или еще что. Но тогда надо собирать пакет не чисто для питона а для нормального менеджера пакетов данной операционки.
Всегда были, есть и будут начальные требования для установки пакетов
Офлайн