python embedded или как добавить python в свое приложение

У Pyhon есть прекрасный инсталлятор, который все сдеает сам и установит Python со всеми стандартными модулями. Но, что делать, если ваше приложение использует python скрипты, а заставлять пользователя скачивать и устанавливать весь Python вам не хочется. Для этого существует Python Embedded (встраиваемый). Этот пакет не требует установки и может быть просто скопирован в папку с вашим приложением. Так же вы сможете установить все необходимые модули для работы и создать миниокружение для работы. Тем самым полностью избавить пользователя от лишних действий. Он даже и не узнает, что часть вашего приложения запускает Python. Этот прием я использовал в приложении Fpska (конвертация видео в 60 fps).
Далее я подробно распишу, как внедрить Python в свое приложение. Все эллементарно. Несколько простых шагов.

Шаг 1 — загружаем встраиваемый Python

Идем на python.org и скачиваем нужную версию python embedded:

Шаг 2 — устанавливаем встраиваемый Pyton

Вся установка сводится к простой распаковке архива:


На этом шаге можно было бы и остановиться, но чистый Python редко, кто использует. Нужны еще и модули. А чтобы поставить модули нужен pip (package installer for Python).

Шаг 3 — pip

Перед устанвкой pip настроим пути к библиотекам. Для этого в файле python37._pth нужно раскомментировать строку:

import site

Скачиваем pip. Для этого рекомендуют использовать утилиту curl:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

но можно просто скачать из браузера

https://bootstrap.pypa.io/get-pip.py

Далее переходим в папку с embedded Python и устанавливаем инсталлятор пакетов (pip):

python get-pip.py

После установки pip появятся папки Lib и Scripts:

Сразу же проверим работает ли pip:

Шаг 4 — модули

Устанавливаем модули. Для примера установим модуль wxPython (добавляет графический интерфейс).

Scripts\pip.exe install wxPython

Шаг 5 — тестирование

Тестируем только что собранный Python. При тестировании очент важно проверить, что получился абсолютно независимый дистрибутив Python со всеми проинсталлированными модулями. Для этого устанавливаем все необходимые модули. Делаем архив папки, где установлен Python Embedded с модулями. И загружаем его куда-нибудь на файлообменник. Затем находим чистый Windows 10, где Python никогда не был установлен. Скачиваем архив и распаковываем. Запускаем любой тестовый скриптик. На следующей картинке тестовый запуск wxPython приложения:

Почитать еще: