Компиляция программы на python 3 в exe с помощью программы cx_Freeze

Наверняка, у каждого Python-программиста возникало непреодолимое желание, а изредка и реальная потребность, скомпилировать свою программу на python в exe файл. Сегодня я расскажу, как это сделать с помощью программы cx_Freeze.
Вопрос 1: а оно надо?
Прежде, чем начинать компилировать программу, нужно убедиться, что это действительно необходимо.
«Компиляция» программы на python — процесс, который может сопровождаться множеством проблем. Более того, это не компиляция в машинный код, как, например, программы на C, а лишь «сборка» в исполняемый файл вашей программы вместе с частью интерпретатора python.
Поэтому, если вы будете использовать программу сами или на компьютерах тех, кто её будет использовать, будет стоять интерпретатор python, то вам не нужно её компилировать.
Установка cx_Freeze
Если компилировать программу на python всё-таки нужно, то скачиваем cx_Freeze с http://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze (так как в ней нет одного неприятного бага, который есть в официальной версии).
Затем устанавливаем, не забывая правильно выбрать директорию, где расположен python.
Компиляция
Компилировать будем программу «блэкджек» (файл 21.py) (кому лень смотреть, привожу полный исходный код).
Создаём в папке с программой файл setup.py с содержимым:
Переходим в командную строку (обычно Пуск → Стандартные → Командная строка). Переходим в папку с программой (в моём случае D:\Dima\py). Запускаем команду C:\Python34\python.exe setup.py build (вместо C:\Python34 нужно написать папку, куда установлен python).
Начнется процесс сборки, в котором cx_Freeze может выдавать предупреждения, но, скорее всего, они не повлияют на работу программы.
Поздравляю! В папке build теперь есть ваша папка с исполняемым файлом!
Заметьте, не файл, а папка! Все остальные файлы также нужны для работы программы (да, это недостаток cx_Freeze). К тому же, при завершении программы окно сразу закрывается (а не ждет нажатия клавиши), поэтому в конец программы нужно дописать что-то вроде:
И скомпилировать ещё раз.
Также можно создать msi-архив командой C:\Python34\python.exe setup.py bdist_msi.
Разумеется, при компиляции более сложных программ вы можете столкнуться с более сложными проблемами.
Для их решения следует воспользоваться официальной документацией.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Как из файла Python3 создать .exe на Windows

Мы рассмотрим создание .exe с помощью библиотеки модуля py2exe. Для этого необходим Python 3.4 и ниже.
Если у вас установлена более высокая версия Python, попробуйте использовать Способ 2 (ниже)
В этом примере мы рассмотрим создание .exe на примере Python3.4.
Прежде всего на нужно создать виртуальное окружение для Python3.4. В этом примере мы назовем myenv, Вы можете выбрать любое другое имя, но не забывайте сделать соответствующие изменения.
На терминале наберите следующие команды:
>py -3.4 -m venv myenv > myenv\Scripts\activate.bat
В командной строке появится префикс myenv, а это значит, что виртуальное окружение с именем myenv загружено. Все команды Python теперь будет использовать новое виртуальное окружение.
Теперь давайте установим py2exe (https://pypi.python.org/pypi/py2exe~~HEAD=dobj) в нашем виртуальном окружении:
>pip install py2exe
И, наконец, чтобы создать единый EXE-файл, в нашем виртуальном окружении выполняем команду:
>python -m py2exe.build_exe hello.py -c --bundle-files 0
(замените hello.py на имя вашего скрипта. Если скрипт находится в другой папке, то нужно использовать полный путь к вашему сценарию, например, C:\Projects\Python\ hello.py). Это создаст папку DIST, которая содержит исполняемый файл. Для быстрого доступа к нему, наберите в терминале:
> explorer dist
Вы увидите путь к папке, где находится EXE-файл.
Примечание: При выполнении, откроется окно и исчезают так же быстро, как и появилось.
Это происходит потому, что операционная система автоматически закрывает терминал, в котором консольная программа закончена.
Для того, чтобы изменить эту ситуацию, можно добавить строчку
> input (" Нажмите для выхода . ")
в конце файла Python. Интерпретатор будет ждать ввода пользователя, а окно будет оставаться открытым, пока пользователь не нажимает клавишу ввода.
Вы можете подробно изучить использование py2exe в документации на странице модуля: https://pypi.python.org/pypi/py2exe
Выход из виртуального окружения производится командой
>deactivate
Способ 2
Через командную строку Windows устанавливаем pyinstaller:
>pip install pyinstaller
В командной строке переходим в папку, где находится файл
cd c:\.
Затем в командной строке набираем команду
pyinstaller --onefile example.py
Вместо exapmle.py используем имя файла, из которого нужно создать exe файл.
Через пару минут все готово! Скоркее всего, exe файл будет находится во созданной подпапке dist
Как конвертировать Python в EXE
Как конвертировать Python в EXE
Самый простой способ создать файлы Python EXE — использовать программу py2exe с открытым исходным кодом, которую можно найти на SourceForge. Большинство модулей Python работают с py2exe без специальной настройки, но некоторые из них могут потребовать некоторой настройки для правильной работы. Учебники для конкретных модулей доступны на веб-сайте py2exe. Вещи, которые вы должны
крюк
py2exe
Windows
Показать больше инструкций
1
Загрузите py2exe и следуйте инструкциям, чтобы установить его на свой компьютер. Откройте командную строку. Это можно сделать в Windows, зайдя в меню «Пуск» и выбрав опцию «Выполнить». Введите «cmd» в поле, чтобы открыть командную строку.
В этом руководстве предполагается, что вы уже написали программу на Python, которую хотите преобразовать в собственный исполняемый файл Windows, протестировали эту программу и знаете, что она работает под интерпретатором Python. Также предполагается, что у вас правильно определены пути, чтобы вы могли вызывать python из любого места в командной строке. Наконец, предполагается, что вы уже загрузили и установили правильную версию py2exe для вашей версии языка Python.
2
создайте скрипт Python с именем setup.py в том же каталоге, что и ваша программа. Этот скрипт сообщит py2exe, как обращаться с вашей программой. Для простой программы на Python будет достаточно следующего скрипта:
из distutils.core импортировать setupimport py2exe
настройка ( консоль = [ 'PROGRAM.py' ])
замените слово «ПРОГРАММА» на имя файла, содержащего точку входа вашего приложения Python. Есть и другие аргументы, которые вы можете использовать в функции configure помимо консоли, чтобы добавить больше функциональности и настроить вывод py2exe для повышения совместимости со сторонними модулями. Однако для простой программы на Python достаточно просто объявить консольное приложение и его точку входа.
3
Запустите скрипт конфигурации. Это можно сделать из консоли с помощью следующей команды:
Python setup.py py2exe
Большая часть диагностической информации будет выводиться на консоль во время работы py2exe. В том месте, где вы запускали программу py2exe, будут созданы две директории: Сборка и разбор
build — это временный каталог, предназначенный для хранения файлов, пока ваша программа преобразуется в исполняемый файл Windows, и может быть безопасно удален после завершения компиляции. Dist будет содержать большинство файлов, необходимых для распространения вашей программы на python среди пользователей, в системе которых не установлен python.
4
исполнительный тест. Он должен находиться в каталоге dist и иметь то же имя, что и точка входа, указанная в файле setup.py. Единственным изменением будет расширение:. Py в exe
Связанные записи:
- Как усреднить сумму в Python
- Как рассчитать среднюю дисперсию и стандартное отклонение с помощью Python
- Как использовать функцию strcmp в C++
- Как использовать функцию strcpy в C++
Помогите с конвертацией py в exe
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно.
Необходимо обновить браузер или попробовать использовать другой.
temirlan
Новичок
Пользователь
Авг 6, 2021 2 0 1
Добрый день, друзья!
Не полуается конвертировать файл в exe, пишет вот что:
C:\Users\user\AppData\Local\Programs\Python\Python39\Projects>pyinstaller tost.py
74 INFO: PyInstaller: 5.0.dev0
74 INFO: Python: 3.9.6
85 INFO: Platform: Windows-10-10.0.19042-SP0
86 INFO: wrote C:\Users\user\AppData\Local\Programs\Python\Python39\Projects\tost.spec
89 INFO: UPX is not available.
script 'C:\Users\user\AppData\Local\Programs\Python\Python39\Projects\tost.py' not found
Все файлы на месте