swibong
@swibong
No system is safe.

Как скомпилировать код на Python в исполняемый файл .exe?

Привет.

Знакомлюсь с Python. Узнал, что можно код скомпилировать в .exe файл.

Установил последнюю версию Python на Windows 10. Скачал PyInstaller 3.2. В папку с PyInstaller закинул скрипт (просто вывод сообщения) на Python. Через консоль ввёл:
pyinstaller myscript.py
В итоге вот вывод:

Traceback (most recent call last):
File "C:\Users\radioactive\Desktop\PyInstaller-3.2\pyinstaller.py", line 14, in
from PyInstaller.__main__ import run
File "C:\Users\radioactive\Desktop\PyInstaller-3.2\PyInstaller\__main__.py", line 21, in
import PyInstaller.building.build_main
File "C:\Users\radioactive\Desktop\PyInstaller-3.2\PyInstaller\building\build_main.py", line 32, in
from ..depend import bindepend
File "C:\Users\radioactive\Desktop\PyInstaller-3.2\PyInstaller\depend\bindepend.py", line 38, in
from ..utils.win32.winmanifest import RT_MANIFEST
File "C:\Users\radioactive\Desktop\PyInstaller-3.2\PyInstaller\utils\win32\winmanifest.py", line 97, in
from PyInstaller.utils.win32 import winresource
File "C:\Users\radioactive\Desktop\PyInstaller-3.2\PyInstaller\utils\win32\winresource.py", line 20, in
import pywintypes
ImportError: No module named 'pywintypes'


Попробовал почитать ман у них там на сайте - ни черта не понял. Может кто помочь с этим делом? Буду очень признателен :)
  • Вопрос задан
  • 8332 просмотра
Пригласить эксперта
Ответы на вопрос 4
BBmike
@BBmike
Ответ написан
Комментировать
s0ci0pat
@s0ci0pat
I'm Awesome
Нужно поставить pywin32
Ответ написан
Комментировать
@Bombus
Столкнулся с такой же проблемой. Коллега установил python по дефотному, получил что и сам интерпретатор python и pyinstaller в пути имели пробельные символы. Лечение - запускать через батник с таким шаблоном:
"C:\Program Files (x86)\Python35-32\python.exe" "C:\Program Files (x86)\Python35-32\Scripts\pyinstaller-script.py" --onefile  myfile.py

После успешной компиляции exe файл может отругаться на не найденные модули - в таком случае для pyinstaller добавляем опцию --paths:
"C:\Program Files (x86)\Python35-32\python.exe" "C:\Program Files (x86)\Python35-32\Scripts\pyinstaller-script.py" --onefile --paths "C:\Program Files (x86)\Python35-32\Lib\site-packages\odf"  myfile.py

Возможно словить еще одну проблему - при создании файлов не удается вытянуть зависимость от dll-файлов (issue). Какая-то несовместимость версий, получаем несоответствие типов (продолжение). Решение здесь.
После этого все завелось и exe работает как надо.
Ответ написан
Комментировать
вам нужно вести в cmd:
pip install pypiwin32
и должна устранится проблема или вобще pyinstaller у вас не работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы