Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Python и ОС Linux

#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 и пользоваться.

Комментариев нет:

Отправить комментарий