autotools и python setup.py - PullRequest
       3

autotools и python setup.py

5 голосов
/ 15 ноября 2011

У меня есть проект, написанный в основном на c ++, который включает несколько вспомогательных скриптов, написанных на python. На данный момент скрипты содержат переменные, замененные на autotools:

#!@PYTHON@
# -*- coding: utf-8 -*-
...

try:
    datapath = os.environ['DATA_PATH']
except KeyError:
    datapath = '@pkgdatadir@'

А вот выдержка из Makefile.am:

BUILT_SOURCES = script.py
nodist_python_PYTHON = script.py 
CLEANFILES = $(python_PYTHON)
EXTRA_DIST = script.py.in 

do_subst = sed -e 's,[@]PYTHON[@],$(PYTHON),g'\
           -e 's,[@]pkgdatadir[@],$(pkgdatadir),g'

script.py: script.py.in
    $(do_subst) < $< > $@
chmod +x $@

Эти сценарии также имеют несколько зависимостей от модулей, которые, вероятно, лучше обработать сценарием setup.py.

Так, как лучше всего смешивать автоинструменты и инструменты python distutils? Стоит ли полностью полагаться на автоинструменты? В противном случае, как я могу интегрировать запуск setup.py в Makefile.am?

1 Ответ

1 голос
/ 16 ноября 2011

Я бы использовал autoconf для настройки script.py вместо 'make', как вы показали. Что-то вроде:

AC_CONFIG_FILES([script.py], [chmod +x script.py])

перед AC_OUTPUT в configure.ac должен это сделать.

...