Скомпилируйте и установите программу на C ++, используя python setup.py

Мои проекты на Python зависят от программы на C ++. Я хочу создать пакет Python, который компилирует и устанавливает эту программу в виртуальную среду. Программа должна появиться в текущем PATH.

Я пытался зарегистрировать исходные файлы, используя ext_modules вариант, но он создает модуль .so. Не совсем то, что мне нужно.

Есть ли способ добиться этого?

3

Решение

Вы можете запускать команды оболочки в python, этого должно быть достаточно для компиляции кода.

import os
os.system ("make -C /path/to/makefile")

Вы также можете запустить результирующий объектный файл как подпроцесс;

import subprocess
theCProcess = subprocess.Popen('/path/to/object/file')

или же

theCProcess = subprocess.Popen(['/path/to/object/file', 'some', 'extra', 'arguments'])

И что вы подразумеваете под PATH? Вы имеете в виду переменную bash PATH? Обычно это должно оставаться постоянным, как /usr/local/bin:/usr/bin:/binВы можете поместить свой двоичный файл в эти каталоги, но только если вы хотите, чтобы он был доступен для всей системы.

0

Другие решения


По вопросам рекламы [email protected]