Как запустить пост-сборку с помощью setuptools / distutils
-
07-07-2019 - |
Вопрос
Я создаю приложение, используя py2app / setuptools, поэтому, как только оно создаст пакет приложений, я хочу предпринять некоторые действия в папке dist, напримерсоздайте установщик / загрузите его.
Есть ли какой-нибудь способ?Я нашел какое-то решение после установки, но никакой последующей сборки
В качестве альтернативы я могу вызвать 'python setup.py py2app' из моего собственного скрипта и сделать это, но было бы лучше, если бы это можно было сделать в setup.py
Решение
Я вчера ответил на аналогичный вопрос о создании подклассов distutils.core .Command .
Суть этого в том, что, делая это, вы можете точно контролировать поведение каждого этапа процесса подготовки и создавать свои собственные команды, которые могут выполнять практически все, что вы только можете придумать. Р>
Пожалуйста, посмотрите на этот ответ, так как я думаю, что он вам поможет. Р>
Другие советы
Вероятно, есть способы сделать это с помощью setuptools или distutils, но они, скорее всего, будут довольно хакерскими.Я бы настоятельно рекомендовал использовать один из следующих инструментов, если вы хотите сделать что-то подобное:
На Paver, вероятно, проще всего перейти, поскольку вы, вероятно, сможете использовать весь существующий у вас файл setup.py.
Не могли бы вы, пожалуйста, пояснить, что вы пытаетесь сделать?
выполните некоторые действия с папкой dist, напримерсоздайте установщик / загрузите его.
Когда вы говорите "создать установщик", вы имеете в виду создание дистрибутива для пакета?И когда вы говорите "загрузить", вы имеете в виду "загрузить в pypi"?или где-то еще?
Я нашел какое-то решение после установки, но никакой последующей сборки
Являются ли это перехваты py2app / обратные вызовы?
python setup.py py2app
Это не соглашение о том, как используется distutils.Обычно это python setup.py install
.
Ответ:
цель py2app - это папка dist, которую я хочу упаковать с помощью моего установочного скрипта и загрузить на свой веб-сайт
Редактировать:
Итак, вы создали пакет, который использует distutils с setup.py.
Когда вы запускаете setup.py он создает дистрибутивы для этого файла и помещает их затем в папку /dist.
Теперь вы хотите загрузить созданный файл на свой веб-сайт.
Для этого вам понадобится другой инструмент.Что -то вроде ткань.
Вы можете использовать fabric для создания сценария, который выполнит команду сборки, а затем загрузит созданные файлы на ваш сервер.