Включите исполнение JavaScript в браузере, чтобы запустить приложение.
17 фев 2025

Как создать exe-файл в Python с помощью PyInstaller и других библиотек

C помощью Python можно автоматизировать многие задачи — достаточно написать скрипт и запустить его на терминале. Python — самый быстрый и простой язык сценариев. Если вы не хотите каждый день открывать терминал и запускать одну и ту же команду, можно создать исполняемый файл. Создать exe-файл в Python можно с помощью PyInstaller и других библиотек.

Создание exe-файла с помощью библиотеки PyInstaller 

PyInstaller — популярный инструмент для преобразования скриптов Python в автономные исполняемые файлы (.exe) в Windows.

Установка PyInstaller 

PyInstaller доступен в виде обычного пакета Python. Архивы с исходными текстами для выпущенных версий доступны в PyPI, но инструмент проще установить с помощью pip:

C:\> pip install pyinstaller

Это поможет обновить PyInstaller до последней версии:

C:\> pip install --upgrade pyinstaller

Установка текущей версии разработки:

C:\> pip install https://github.com/pyinstaller/pyinstaller/tarball/

Алгоритм действия 

В качестве примера возьмем один файл на Python, чтобы подробно объяснить этапы упаковки. Рассмотрим Python 3.11.0 после установки aspose.cells.

1.Создайте файл с именем example.py: 

import os

from jpype import *

__cells_jar_dir__ = os.path.dirname(__file__)

addClassPath(os.path.join(__cells_jar_dir__, "aspose-cells-23.1.jar"))

addClassPath(os.path.join(__cells_jar_dir__, "bcprov-jdk15on-160.jar"))

addClassPath(os.path.join(__cells_jar_dir__, "bcpkix-jdk15on-1.60.jar"))

addClassPath(os.path.join(__cells_jar_dir__, "JavaClassBridge.jar"))

import jpype

import asposecells

jpype.startJVM()

from asposecells.api import Workbook, FileFormatType, CellsHelper

print(CellsHelper.getVersion())

workbook = Workbook(FileFormatType.XLSX)

workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World")

workbook.save("output.xlsx")

jpype.shutdownJVM()
py

2.Создайте папку c:\app и копию example.py c:\app.

3. Откройте командную строку и выполните команду example.py pyinstaller 

C:\app> pyinstaller example.py

4. Скопируйте файлы jar(aspose-cells-xxx.jar, bcprov-jdk15on-160.jar, bcpkix-jdk15on-1.60.jar, JavaClassBridge.jar. Они находятся в папке C:\Python311\Lib\site-packages\asposecells\lib) в c:\app.

5. Отредактируйте файл с суффиксом spec, чтобы добавить раздел данных, подобный example.spec.

6. Запустите pyinstaller example.spec в окне командной строки.

C:\app> pyinstaller example.spec

7. Переключите каталог на C:\app\dist\example, и вы найдете файл example.exe.

Создание exe-файла с помощью библиотеки auto-py-to-exe 

С помощью auto-py-to-exe, проекта Брента Воллебрегта можно создавать собственные исполняемые приложения на Python. Под графическим интерфейсом находится PyInstaller, приложение на базе терминала для создания исполняемых файлов на Python для Windows, Mac и Linux. 

Установка auto-py-to-exe 

  1. Откройте командную строку, выполнив поиск CMD.
  2. Используйте pip-менеджер пакетов Python для установки auto-py-to-exe:

pip install auto-py-to-exe

Алгоритм действия 

  1. Откройте командную строку, выполнив поиск CMD.
  2. Запустите auto-py-to-exe из командной строки.
  3. Нажмите на кнопку Browse и перейдите к нашему примеру файла на Python.
  4. Настройте приложение на использование одного файла. Это позволит объединить приложение и поддерживающие его библиотеки Python в один исполняемый файл.
  5. Настройте приложение на консольное управление. Так можно увидеть все ошибки, выводимые в командную строку. Как только мы будем уверены, что приложение работает правильно, можно настроить его на оконное управление.
  6. Нажмите на раскрывающийся список параметров и выберите значок для вашего приложения. Это необязательный шаг, но он повышает качество приложения. 
  7. Нажмите «Дополнительно», ‎в поле «Имя» ‎введите название вашего приложения. Например, «Программа запуска приложений».
  8. Прокрутите страницу вниз и нажмите «Преобразовать. PY в .EXE»‎, чтобы начать процесс. Это займет пару минут.
  9. Нажмите на кнопку Open Output Folder, чтобы открыть папку, содержащую приложение.
  10. Дважды щелкните по значку, чтобы запустить приложение.

Создание exe-файла с помощью библиотеки cx_Freeze 

Преобразовать скрипт Python в автономный исполняемый файл (.exe) можно и с помощью «cx_Freeze».

Установка cx_Freeze 

Установить его легко с помощью pip:

pip install cx_Freeze
py

Алгоритм действия 

Создайте установочный скрипт (например, «setup.py») в том же каталоге, что и ваш скрипт на Python. Этот скрипт предоставит конфигурацию для «cx_Freeze». Простой пример проекта:

from cx_Freeze import setup, Executable

   setup(

       name="YourAppName",

       version="1.0",

       description="Your application description",

       executables=[Executable("your_script.py")],

   )   
py

Замените «YourAppName» и «Your application description» на название и описание вашего приложения, а «your_script.py» — на название вашего скрипта на Python.

Откройте терминал, перейдите в каталог, содержащий ваш скрипт на Python и файл «setup.py»:

python setup.py build

Это создаст каталог «build», содержащий исполняемый файл.

После выполнения команды «build» вы можете найти исполняемый файл в каталоге `build`. Он будет находиться в подкаталоге с названием вашей операционной системы (например, «build\exe.win-amd64-3.8» для 64-разрядного исполняемого файла Windows).

Теперь у вас должен быть отдельный исполняемый файл, который вы можете распространять и запускать на компьютере без установленного Python. Помните, что если у вашего скрипта есть внешние зависимости, то может потребоваться включить их в сценарий «setup.py». 

Создание exe-файла с помощью библиотеки py2exe 

Преобразование интерпретируемого языкового кода в исполняемый файл еще называют замораживанием. Для этого можно использовать модуль py2exe.

Установка py2exe 

Чтобы использовать модуль py2exe, нужно его установить. Сделаем это с помощью pip:

$ pip install py2exe
py

Алгоритм действия 

Напишем программу, которая будет выводить текст на консоль:

import math

print("Hannibal ante Portas")

print(factorial(4))
py

Запустим следующие команды в командной строке Windows, чтобы создать каталог. Переместим код, который мы уже написали в указанный каталог и выполним его:

$ mkdir exampDir

$ move example.py exampDir

$ cd exampDir

$ py example.py
py

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

Создайте другой файл с именем setup.py в той же папке. Здесь мы сохраним подробную информацию о конфигурации, о том, как мы хотим скомпилировать нашу программу. Пока мы просто добавим в него пару строк кода:

from distutils.core import setup # Need this to handle modules

import py2exe 

import math # We have to import all modules used in our program

setup(console=['example.py']) # Calls setup function to indicate that we're dealing with a single console application
py

Теперь откройте командную строку от имени администратора и перейдите в каталог, чтобы запустить файл setup.py:

$ cd exampDir

$ python setup.py py2exe

running py2exe

*** searching for required modules ***

*** parsing results ***