Вы можете использовать библиотеку Boost.Process . Тем не менее, это не официальная часть повышения. Я видел, как он хорошо работает для других. К сожалению, прогресс boost.process, по-видимому, застопорился. pstreams - другой (по-видимому активный) проект. Конечно, стоит попробовать, я бы сказал, но это только для совместимых с posix операционных систем.
Посмотрите distutils простой пример . Это в основном, на что это похоже, кроме реальных сценариев установки обычно содержат немного больше информации. Я не видел никого, которые существенно более сложны, все же. В сущности Вы просто даете ему список какой потребности быть установленными. Иногда необходимо дать ему некоторое отображение dicts начиная с, источник и установленные деревья не могли бы быть тем же.
Вот (анонимизированный) пример реальной жизни:
#!/usr/bin/python
from distutils.core import setup
setup (name = 'Initech Package 3',
description = "Services and libraries ABC, DEF",
author = "That Guy, Initech Ltd",
author_email = "that.guy@initech.com",
version = '1.0.5',
package_dir = {'Package3' : 'site-packages/Package3'},
packages = ['Package3', 'Package3.Queries'],
data_files = [
('/etc/Package3', ['etc/Package3/ExternalResources.conf'])
])
Большинство программ Python будет использовать distutils. Django - один - видят http://code.djangoproject.com/svn/django/trunk/setup.py
, необходимо также читать документация , поскольку это очень всесторонне и имеет некоторые хорошие примеры.
distutils действительно не все это трудное, как только Вы приобретаете навык его. Это - действительно просто вопрос включения некоторой метаинформации (название программы, автор, версия, и т.д.) и затем выбор, какие файлы Вы хотите включать. Например, вот образец distutils setup.py модуль из прилично сложной библиотеки Python:
, что это не имеет дело ни с какими файлами данных или или этажерка, таким образом, YMMV.
На другой ноте, я соглашаюсь, что distutils документация является, вероятно, частью худшей документации Python. Это является чрезвычайно содержащим в некоторых областях, но пропускает некоторую действительно важную информацию в других.