Python // Компиляция скриптов в .exe файл


Чтобы перенести программу на другой компьютер, где не установлен Python, её нужно скомпилировать в .exe файл. Для этого есть несколько способов, и сегодня мы рассмотрим наиболее простой - библиотеку pyinstaller

Дадим в командной строке две команды:

pip install wheel
pip install pyinstaller



После установки всего необходимого, попробуем скомпилировать какую-нибудь программу. Я выбрал в качестве примера свой скрипт, который позволяет скачивать все статьи из любого блога на Golos.io. Он уже имеется у меня в качестве .py файла, а о том как установить нужные для него модули я писал здесь:

https://golos.io/ru--golos/@pythono/skachivaem-lyuboi-blog-s-golos-io-na-python

Сам исходник Python файла лежит тут:

http://pythono.ru/book/downblog.zip

Итак, мы имеем .py файл под названием downblog.py, который успешно запускается и работает в качестве скрипта Python. И теперь мы хотим сделать из него .exe файл, чтобы мы могли просто дать его другу, и не заморачиваться с установкой питона и модулей на другом компе.

Создадим на диске D:\ какую-нибудь папку с простым именем. Я например создал папку с именем "1".


Поместим в эту папку скрипт, который мы хотим скомпилировать - downblog.py

Теперь зайдем в командную строку и дадим команду:

pyinstaller --onedir --onefile --name=downblog "D:\1\downblog.py"



После окончания процесса компиляции в папке 1 мы увидим несколько подкаталогов:



В подкаталоге dist лежит скомпилированный экзешник



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

Вот уже скомпилированный мной вариант:

http://pythono.ru/book/exe/downblog-exe.zip

На этом мой рассказ о компиляции программ не заканчивается. Дело в том что бывает, pyinstaller не справляется с компиляцией сложных скриптов. Поэтому в следующий раз мы рассмотрим альтернативный способ компиляции Python скриптов с помощью cx_freeze.

Ставьте апвоут, подписывайтесь, будет еще много интересных уроков!

программированиеобразованиеpythonпитонуроки
25%
4665
97
12.350 GOLOS
0
В избранное
Pythono
Python, PHP, Web-dev
97
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (5)
Сортировать по:
Сначала старые