Перейти к содержанию

Учебник Python

Материал из Викиучебника — открытых книг для открытого мира


Компиляция в бинарники (создание .exe файлов (приложений))

[править]

PyInstaller

[править]

Видео, в которых рассказывается о том, как это сделать: https://www.youtube.com/watch?v=K_le5u6k8gM https://www.youtube.com/watch?v=CgCJwDjm_Cw


Сначала рекомендуется проверить, добавлен ли интерпретатор и папка с ним в папку Path. Запускаем командную строку (для этого жмём Win + R, в поле "Открыть:" пишем "cmd"). В командной строке открываем консоль (для этого вводим в командной строке "cls" и жмём клавишу Enter). Потребуется менеджер пакетов pip:

easy_install pip

Далее устанавливается PyInstaller:

pip install pyinstaller

Может возникнуть ошибка

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status
=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in
certificate chain (_ssl.c:1125)'))': /simple/pyinstaller/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status
=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in
certificate chain (_ssl.c:1125)'))': /simple/pyinstaller/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status
=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in
certificate chain (_ssl.c:1125)'))': /simple/pyinstaller/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status
=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in
certificate chain (_ssl.c:1125)'))': /simple/pyinstaller/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status
=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in
certificate chain (_ssl.c:1125)'))': /simple/pyinstaller/
Could not fetch URL https://pypi.org/simple/pyinstaller/: There was a problem co
nfirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Ma
x retries exceeded with url: /simple/pyinstaller/ (Caused by SSLError(SSLCertVer
ificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: s
elf signed certificate in certificate chain (_ssl.c:1125)'))) - skipping

Возможная причина данной ошибки - антивирус. Его отключение, возможно, поможет устранить ошибку (будьте осторожны во время отключения антивируса: компьютер может стать незащищённым).

И надо установить pywin32.

После этого программы собираются очень просто:

pyinstaller test.py

Для файлов любого расположения:

pyinstaller "‪D:\Programms\Programm.py"

В общем виде:

pyinstaller "Расположение файла"

Файл .exe будет сохранён в папке dist. Чтобы её найти, пишем в командной строке "explorer dist" и жмём клавишу Enter.

Для оконного режима:

pyinstaller --windowed test.py

Можно создать файлик build.bat:

echo y| call pyinstaller Alarm.py
pause