Как развернуть простое приложение на Python в Linux для общей корпоративной среды? - PullRequest
4 голосов
/ 12 марта 2011

Я написал (очевидно) отличный инструмент на python (под linux), которым я хотел бы поделиться со своими коллегами. Мы работаем на разных машинах, но в одной общей среде. Кроме того, мы являемся пользователями, поэтому нет простого способа установить зависимости.

Теперь вот подвох: Мне нравится python, моим пользователям все равно. У них есть доступ к общекорпоративной установке python (простой), но они не хотят заботиться (ну, это понятно, не каждый программист).

Вопрос в следующем: В такой общей среде, где доступен интерпретатор Python, а модулей для моего приложения нет, какой может быть самый простой способ поделиться моим инструментом с другими пользователями?

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

Для пользователя это должно быть: копирование определенного tar.gz или переход в папку приложения (общая), запуск приложения, готово.

Так, может быть, модули должны быть как-то встроены в приложение? Или я должен разместить (в своем общем доме) модули в библиотеке и настроить некоторые пути? Или может быть virtualenv мог бы помочь, если бы пользователи могли скопировать весь env с путем?

Надеюсь, вы видите мою проблему: D

Спасибо!

Ответы [ 4 ]

3 голосов
/ 12 марта 2011

При условии, что ваши стандартные установки - это Python 2.6 или более поздней версии, и вы не используете какие-либо модули расширения C, вы можете просто выбросить все это в zipfile, включить файл __main__.py и затем добавить заголовок оболочки в zipfile. По вашему сценарию именно эта функция была добавлена.

См. http://bugs.python.org/issue1739468 для получения более подробной информации о том, как его настроить.

2 голосов
/ 12 марта 2011

Для «той же общей среды» вы можете сделать:

  1. Установить your-script в /your/shared/home/virtualenv

    $ pip install your-app.tar.gz -E /your/shared/home/virtualenv
    
  2. Сделайте ссылку:

    $ ln -s /your/shared/home/virtualenv/bin/your-script /shared/app/folder/
    
  3. Ваши коллеги могут вызвать сценарий как /shared/app/folder/your-script или добавить /shared/app/folder/ к PATH.

Особенности:

  • Вы выбираете, какая версия вашего скрипта доступна, контролируя, куда указывает символическая ссылка.Старые версии можно запускать как /your/shared/home/virtualenv-old-version/bin/your-script
  • . Вы можете использовать расширения Python, написанные на C
  • , если вы устанавливаете в virtualenv через pip install -e .;он делает доступной версию из вашего рабочего каталога

Как правило, это не предпочтительный вариант установки приложений Python.

1 голос
/ 12 марта 2011

вы можете использовать pyinstaller для создания автономных исполняемых файлов
см: http://www.pyinstaller.org/

0 голосов
/ 12 марта 2011

Какова природа вашего приложения? Является ли это просто «подключить некоторые значения, получить ответ»? Или это более интерактивный / графический? Если первое, ваше приложение может быть упаковано как утилита на UtilityMill . Тогда ваши пользователи смогут просто получить доступ к вашему приложению через стандартный браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...