Использовать distribute/setuptools, чтобы создать символьную ссылку (или выполнить сценарий)?

Как часть процесса установки моего проекта, мне нужен к символьной ссылке один из пакетов к указанному каталогу, таким образом, init.d сценарий может найти его. Есть ли любой способ добавить это как выполняющую последующую обработку команду к setup()? Я даже согласился бы на создание другого файла, который создает ссылку, и передайте его setup() как часть некоторого kwarg списка "выполненного они" (если такая опция существует).

setup(
    ...
    packages = find_packages('src'),
    package_dir = {'': 'src'},
    install_requires = ...,
    data_files = [('/etc/init.d', ['scripts/foo'])],
    ...
)

это foo сценарий ожидает один из пакетов от src/ быть symlinked к каталогу в другом месте (например, не просто идти PYTHONPATH). Существует ли способ достигнуть этого?

10
задан tdavis 29 January 2010 в 00:57
поделиться

1 ответ

В настоящее время только специфические для платформы инструменты управления пакетами (например, RPM, deb, win32 installers) имеют возможность выполнять шаги после установки: дистилляторы, инструменты установки и т.д. не поддерживают это напрямую. (За исключением того, что это позволяет собрать RPM, программу установки windows и т.д.)

Итак, самый простой способ сделать это без специфичной для платформы программы установки - это создать свой собственный сценарий после установки или добавить опцию после установки к существующему сценарию и сказать пользователям, чтобы они его запустили. В противном случае, вам придется использовать bdist_rpm или одну из других команд bdist для создания программы установки для соответствующей платформы (платформ).

4
ответ дан 4 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: