Создание 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()
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
- Откройте командную строку, выполнив поиск CMD.
- Используйте pip-менеджер пакетов Python для установки auto-py-to-exe:
pip install auto-py-to-exe
Алгоритм действия
- Откройте командную строку, выполнив поиск CMD.
- Запустите auto-py-to-exe из командной строки.
- Нажмите на кнопку Browse и перейдите к нашему примеру файла на Python.
- Настройте приложение на использование одного файла. Это позволит объединить приложение и поддерживающие его библиотеки Python в один исполняемый файл.
- Настройте приложение на консольное управление. Так можно увидеть все ошибки, выводимые в командную строку. Как только мы будем уверены, что приложение работает правильно, можно настроить его на оконное управление.
- Нажмите на раскрывающийся список параметров и выберите значок для вашего приложения. Это необязательный шаг, но он повышает качество приложения.
- Нажмите «Дополнительно», в поле «Имя» введите название вашего приложения. Например, «Программа запуска приложений».
- Прокрутите страницу вниз и нажмите «Преобразовать. PY в .EXE», чтобы начать процесс. Это займет пару минут.
- Нажмите на кнопку Open Output Folder, чтобы открыть папку, содержащую приложение.
- Дважды щелкните по значку, чтобы запустить приложение.
Создание exe-файла с помощью библиотеки cx_Freeze
Преобразовать скрипт Python в автономный исполняемый файл (.exe) можно и с помощью «cx_Freeze».
Установка cx_Freeze
Установить его легко с помощью pip:
pip install cx_Freeze
Алгоритм действия
Создайте установочный скрипт (например, «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")],
)
Замените «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
Алгоритм действия
Напишем программу, которая будет выводить текст на консоль:
import math
print("Hannibal ante Portas")
print(factorial(4))
Запустим следующие команды в командной строке Windows, чтобы создать каталог. Переместим код, который мы уже написали в указанный каталог и выполним его:
$ mkdir exampDir
$ move example.py exampDir
$ cd exampDir
$ py example.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
Теперь откройте командную строку от имени администратора и перейдите в каталог, чтобы запустить файл setup.py:
$ cd exampDir
$ python setup.py py2exe
running py2exe
*** searching for required modules ***
*** parsing results ***
…