Это неправильно упаковывать Python с моим фреймворком? - PullRequest
0 голосов
/ 20 мая 2011

Вот сделка. Я занимаюсь разработкой фреймворка, чьи единственные пользователи крайне испортили установки Python на своих серверах (Linux). Все они имеют несколько версий Python на своих серверах, а их переменные PYTHONHOME и PYTHONPATH указывают на разные версии.

Поскольку моей инфраструктуре потребуется Python 2.6, я подумал, что безопасным способом распространения моего приложения может быть объединение предварительно скомпилированной версии Python с моим приложением. Чтобы проверить эту теорию, я скачал ActivePython и связал все необходимые файлы с приложением. Мой основной скрипт вызывает #! / Vendor / ActivePython2.6 / bin / python.

До сих пор я тестировал фреймворк на разных серверных дистрибутивах и на серверах разных людей, и, похоже, до сих пор работал без проблем (пока).

У меня вопрос: есть ли проблемы в этом и есть ли альтернативы?

1 Ответ

2 голосов
/ 20 мая 2011

Я бы рекомендовал против этого. Вы столкнетесь с проблемами между версиями 32b и 64b, между различными версиями libc, местоположениями noexec, неправильными профилями selinux / apparmor для пользовательских путей и многими другими потенциальными проблемами ...

Если вы не планируете выпускать (и тестировать!) Пакет для каждого отдельного дистрибутива, архитектуры и версии, я бы сказал, что вы создаете проблемы для себя. Альтернатива состоит в том, чтобы предоставить обе версии, конечно, - предоставить платформу только по умолчанию и сделать статический пакет Python доступным в случае проблем.

...