Как развернуть Python для пользователей Windows? - PullRequest
21 голосов
/ 29 октября 2009

Я скоро запускаю бета-приложение , и у него есть возможность создавать пользовательские сценарии интеграции на Python .

Приложение будет нацелено на Mac OS X и Windows, и моя проблема с Windows, где Python обычно отсутствует.

Мой настоящий подход - тихая установка Python 2.6. Однако я сталкиваюсь с проблемой, которая не активирована по умолчанию, и путь не задается при использовании параметров командной строки . И я боюсь, что если Python будет установлен раньше, и я обновлю его до новой версии, это может сломать что-то еще ...

Итак, мне интересно, как это можно сделать чисто. Разве это нормально, если я скопирую весь каталог Python 2.6, поместу его в подкаталог моего приложения и установлю там все? Или с помощью virtualenv возможно запускать разные версии Python (если Python уже установлен на машине?).

Я также играл до встраивания Python с DLL, и мне было легко, но я потерял способность отлаживать, поэтому переключаюсь на плагины командной строки.

Я запускаю плагины из командной строки и читаю выходные данные STDOUT и STDERR. Приложение сделано с Delphi / Lazarus. Я устанавливаю другие модули, такие как клиенты JSON и RPC, Win32com, ORM и т. Д. Я создаю установщик с bitrock .

ОБНОВЛЕНИЕ: конечные пользователи являются владельцами малого бизнеса, а сценарии Python создаются разработчиками. Я хочу избежать любого дополнительного шага в развертывании, поэтому я хочу полностью интегрированную настройку.

Ответы [ 4 ]

14 голосов
/ 30 октября 2009

Скопируйте папку Portable Python из установщика в ту же папку, что и приложение Delphi / Lazarus. Установите все пути для этого.

12 голосов
/ 29 октября 2009

Вы можете попробовать использовать py2exe . Он создает файл .exe с уже включенным Python!

4 голосов
/ 30 октября 2009

Интегрируйте интерпретатор Python в свое приложение Delphi с помощью P4D . Эти компоненты действительно работают, и в обоих направлениях (классы Delphi, представленные на Python как двоичные расширения, и интерпретатор Python внутри Delphi). Я также видел патч для совместимости Lazarus на странице «Проблемы» кода Google, но, похоже, там могут быть некоторые нерешенные проблемы.

1 голос
/ 30 октября 2009

Я думаю, что нет никаких проблем в сочетании .EXE-упаковки с такими инструментами, как PyInstaller или py2exe и написанными на Python плагинами. Созданный .EXE может легко определить, где он установлен, а код внутри может просто import файлы из некоторого заранее определенного каталога плагинов. Не забывайте, что когда вы упаковываете скрипт Python в исполняемый файл, он также упаковывает интерпретатор Python внутри, так что у вас это есть - полная среда Python, настроенная под ваш собственный код.

...