Как развернуть Python для пользователей Windows?

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

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

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

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

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

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

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

Ответ 1

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

Ответ 2

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

Ответ 3

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

Ответ 4

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