#python
Привет! Интересует следующий вопрос. Если написанный на Python проект собрать, допустим через Pyinstaller (он поддерживает Линукс, судя по заявлениям разработчиков) в ОС Ubuntu. Смогу ли я использовать его на Centos допустим в дальнейшем? P.C Не спрашивайте, пожалуйста, почему сразу не собрать ни Centos.
Ответы
Ответ 1
Для Linux посмотрите пакет "pyfreeze". Для Windows есть аналог - "py2exe". На сколько я помню, эти пакеты, как раз, собирают все используемые в коде модули и создают инсталятор.Ответ 2
Стандартом для распространения проектов на Python являются пакеты-яйца. Зависимости указываются в setup.py в параметре install_requires. Когда кто-нибудь скажет pip install . (или имя на PyPI, или URL откуда можно скачать тарболл), то все зависимости будут увидены и подтянуты. Процесс создания пакета очень детально расписан в документации distribute. Не забывайте совмещать с virtualenv (или ключом --user для pip, чтобы тот ставил в $HOME) для лучшего эффекта. Если Вы хотите собрать «родной» пакет для какого-либо дистрибутива (например, Debian), то тут возни больше — каждый пакет, которого нет в репозитории, придется упаковать, ручками повозившись с debian/* (или, соответственно, *.spec для RPM, *.ebuild для Gentoo, PKGBUILD для Arch и т.д.). Руководства для мейнтейнеров конкретных дистрибутивов в помощь. Сборка с pyfreeze — это как статически слинкованные бинарники. Можно, и даже будет работать, но это максимально неродное для любой системы решение. Далее чем «строго для себя» не рекомендовал бы. Хотя даже «для себя» мне кажется, проще написать тривиальный setup.py и пользоваться.
Комментариев нет:
Отправить комментарий