Как скомпилировать код python в exe
Перейти к содержимому

Как скомпилировать код python в exe

  • автор:

Как скомпилировать код python в exe

Процесс по шагам:

1. Установите пакет PyInstaller:

> pip install pyinstaller Collecting pyinstaller Downloading pyinstaller-5.12.0-py3-none-win_amd64.whl (1.3 MB) ---------------------------------------- 1.3/1.3 MB 2.3 MB/s eta 0:00:00 Requirement already satisfied: setuptools>=42.0.0 in c:\python311\lib\site-packages (from pyinstaller) (65.5.0) Collecting altgraph Downloading altgraph-0.17.3-py2.py3-none-any.whl (21 kB) Collecting pyinstaller-hooks-contrib>=2021.4 Downloading pyinstaller_hooks_contrib-2023.3-py2.py3-none-any.whl (263 kB) ---------------------------------------- 263.6/263.6 kB 2.3 MB/s eta 0:00:00 Collecting pefile>=2022.5.30 Downloading pefile-2023.2.7-py3-none-any.whl (71 kB) ---------------------------------------- 71.8/71.8 kB 2.0 MB/s eta 0:00:00 Collecting pywin32-ctypes>=0.2.0 Downloading pywin32_ctypes-0.2.0-py2.py3-none-any.whl (28 kB) Installing collected packages: pywin32-ctypes, altgraph, pyinstaller-hooks-contrib, pefile, pyinstaller Successfully installed altgraph-0.17.3 pefile-2023.2.7 pyinstaller-5.12.0 pyinstaller-hooks-contrib-2023.3 pywin32-ctypes-0.2.0 
[notice] A new release of pip available: 22.3.1 -> 23.1.2 [notice] To update, run: python.exe -m pip install --upgrade pip 

2. Следующая команда создаст исполняемый файл скрипт_на_Python.exe в подкаталоге dist:

> pyinstaller --onefile скрипт_на_Python.py 

[Ссылки]

1. Create an Executable using PyInstaller site:datatofish.com.

Как скомпилировать код python 3.10 код в exe

Я создал программу на Python 3.10.0rc. И хотел скомпилировать её в exe файл. В программе был использован match-case (новая языковая конструкция, доступная в версии 3.10). Если я использую python имя_файла , всё работает как должно. Но если компилирую через pyinstaller, то получается Syntax Error. Ошибка :

Syntax error in D:\binarian\compiler.py File "D:\binarian\compiler.py", line 21 match lexic[0]: ^ SyntaxError: invalid syntax 

Отслеживать

48.9k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков

Скомпилировать python-код в exe файл на языке C

Недавно нашел простую и очень мощную библиотеку на Python для компиляции кода в исполняемый файл на языке C. Сама фраза для понимания может показаться сложной, но сейчас попробую объяснить и показать простейший пример, который подойдёт большинству разработчиков.

Курс «Администрирование ViPNet-сетей»

Библиотека называется nuitka и установить её можно при помощи pip install nuitka.

Важнейшим замечанием является лицензия, и она свободная — Nuitka распространяется под лицензией Apache.

Nuitka — хорошая замена интерпретатору Python. Она компилирует каждую языковую конструкцию во всех соответствующих версиях CPython и даже в нерелевантных версиях, таких как 2.6 и 3.3. Переводит Python в программу C, которая затем связывается с libpython для выполнения точно так же, как CPython.

Nuitka уже немного быстрее, чем CPython. По заявлению разработчиков, они получают ускорение на 335% в pystone (Nuitka версии 0.6.17 с Debian Python 2.7).

Теперь к примеру компиляции в исполняемый файл с преобразованием в C:

python -m nuitka --standalone --plugin-enable=pyqt5 --windows-uac-admin --windows-disable-console --windows-icon-from-ico=data/LicenseChecker.ico --include-data-dir=data=data main.pyw

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

—plugin-enable=pyqt5 нужен для тех, кто использует pyqt5, так как без него библиотека может быть не включена, или включена частично. Собственно, узнал я об этом из сообщений, которые nuitka выдаёт при компиляции, поэтому читайте внимательно и переводите красный текст.

—windows-uac-admin это требование прав администратора для запуска программы. В моём случае они нужны, но если вашей программы в них нет нужны, то и включать не нужно, так больше доверия будет, если программа неизвестна.

—windows-disable-console данный параметр отключает запуск командной строки при открытии исполняемого файла.

—windows-icon-from-ico=data/LicenseChecker.ico самое интересное — иконка для исполняемого файла.

—include-data-dir=data=data включить папку data в конечную папку с приложением и назвать её data.

ну а main.pyw в моём примере, это название вашего скрипта, который вы хотите скомпилировать.

Есть еще параметр —onefile если нужно собрать всё в один файл. Если собирать в один файл, то для сжатия исполняемого файла может пригодиться pip install zstandard — сжатие с 33 мегабайт до 11 в моём случае, но могут быть ошибки, поэтому сразу проверяйте работоспособность.

Также —include-data-file=/path/to/files/*.txt=folder_name/, но использовать его для *.* не стоит — выдаёт ошибку.

Также напишу пару параметров, которые нашел в хэлпе:

Как из py сделать exe

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

Если вы только начали изучать Python то следующие статьи будут Вам очень полезны.

Компилируем код Python в файл exe

И так для того чтобы из файла .py сделать .exe необходимо установить специальную библиотеку, с помощью которой можно скомпилировать python скрипт, для этого открываем командную строку и вводим

Py в exe

Кстати если после ввода вы видите следующие сообщение ««PIP» не является внутренней или внешней командой, исполняемой программой или пакетным файлом» то читаем статью ссылку на которую я оставил выше.

Если же установка прошла без ошибок, тогда нужно перейти в директорию где у вас храниться файл скрипт командой

Для компиляции вводим следующею команду

test.py — ваш скрипт

Как из py сделать exe

После завершения компиляции в папке где лежал ранее лежа ваш скрипт py появиться еще одна «Dist» в ней папка «test» в которой будет ваша программа. Теперь вашу программу можно будет запустить на любом другом компьютере.

Компилируем код Python в файл exe

Но как мы видим у нас получился не один файл и несколько. Что бы сделать из py всего один файл exe, нужно ввести туже команду но только добавить специальный флаг.

код Python в файл exe быстро и просто

После завершения в папке «dist» появиться только один файл exe.

Компилируем код Python в файл exe быстро и просто

Как видите скомпилировать скрипт и сделать из py exe достаточно просто, но есть несколько нюансов.

Если у вас код достаточно большой то готовьтесь к тому что и файл exe будет внушительных размеров, для примера могу сказать что код из 60 строк будет весить 110-120 Mb.

Так же если код скомпилирован в 64 битной ОС то в 32 битной он не запустится. Если код скомпилирован в 32 битной то он будет работать и 64 битной.

Раздел: Python Метки: к из py сделать exe

Py в exe : 4 комментария

  1. Юрий 01.11.2021 Круто. Надо будет попробовать. А от какой версии Windows будет работать программа? То есть от XP и выше? Или там от семерки? Или же это от кода зависит и от настроек компилятора?
  1. anonymouse 17.01.2022 Новые версии от 7, не считая её. Более поздние версии от XP-шки
  1. admin Автор записи 19.05.2022 Нужно использовать версию python 32-bit

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *