158

Интересный Python #11: упаковываем скрипты в .exe

Код программы, написанной на Python, хранится в файлах с расширением .py. Программист легко запустит такую программу с помощью интерпретатора.


Но как быть с не-программистами, которые привыкли запускать программы двойным кликом по значку и не готовы возиться с установкой интерпретатора ради запуска вашего скрипта? Как поделиться программой с друзьями или коллегами?

PyInstaller

С помощью библиотеки PyInstaller можно запаковать код на Python в исполняемый файл в расширением .exe. В этом файле будет содержаться всё необходимое для выполнения программы, включая интерпретатор и необходимые зависимости (внешние библиотеки).


Как установить PyInstaller

1. Откройте терминал (командную строку);

2. Если умеете пользоваться виртуальным окружением, то создайте и активируйте его. Если нет, то пропустите этот шаг;

3. Выполните команду pip install pyinstaller.


Документация

Документация понятная и актуальная. Ознакомиться с ней можно здесь.

Дальше в посте будет много скриншотов и примеров кода. Прочитать материал в более удобном и структурированном формате можно здесь.

Откройте командную строку и с помощью команды cd перейдите в каталог, в котором лежит ваш код (файл с расширением .py).

Выполните следующую команду: pyinstaller [filename].  filename - это имя модуля, то есть файла с кодом, например, main.py. Вы увидите, как pyinstaller начал свою работу.

В итоге будет создан файл с расширением .spec и 2 директории: build и dist. Перейдите в директорию dist. В ней вы увидите следующие файлы:

Запустите файл с расширением .exe (в примере выше это main.exe). Это и есть ваша программа в виде двоичного файла.

--onefile

Сейчас для того, чтобы поделиться программой с другими людьми, вам понадобится передать им всё содержимое каталога dist. Но если вы хотите, чтобы всё было упаковано в единый файл, то можно указать опцию --onefile: pyinstaller --onefile [filename].


Подключение дополнительных файлов

Иногда требуется добавить в дистрибутив не только саму программу, но и дополнительные файлы: данные, изображения и прочее. О том, как это сделать, можно прочитать здесь.

Возможно, вы также захотите прикрутить к своей программе полноценный установщик, вроде такого:

Для этого можно воспользоваться инструментами InstallForge или InnoSetup.

Программирование на python

936 постов11.9K подписчика

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества