Как заставить easy_install выполнить пользовательские команды в setup.py?

Нет.

, Почему добавляют дополнительный слой сложности ни для какой реальной выгоды? Нет никакой конвенции для Rubyists, который использует его.

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

7
задан Heikki Toivonen 18 September 2009 в 22:04
поделиться

2 ответа

Это невозможно. У Enthought есть специальная версия setuptools, которая поддерживает это, но в остальном она присутствует в системе отслеживания ошибок как пункт списка желаний, который обсуждается с июня.

Однако есть способы обмануть систему, и вы можете их рассмотреть. Один из способов - сделать так, чтобы ваш самый важный модуль, тот, который всегда импортируется первым при использовании вашего пакета, выполнял действия после установки при первом его вызове. Затем вы должны очистить себя и рассмотреть случай, когда вы не можете писать в библиотеку, потому что администратор установил пакет, а первым пользователем является кто-то другой, кроме администратора.

В худшем случае это потребует создания ~ Каталог /.mypackage для всех пользователей, использующих пакет, и повторный запуск постустановки один раз для каждого нового пользователя. Каждый раз, когда модуль импортируется, он проверяет наличие ~ / .mypackage. Если его там нет, он запускает постустановку и создает ее. Если он есть, он пропускает постустановку.

4
ответ дан 7 December 2019 в 03:18
поделиться

Paver переводит инструменты настройки на новый уровень и позволяет вам писать собственные задачи. Он позволяет расширять типовой файл setup.py и предоставляет простой способ загрузки среды Paver.

5
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

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