Иногда возникает необходимость выполнять скрипт на пользовательских машинах по windows, но без установки интерпретатора python. Это могут быть самые разнообразные ситуации, но сводиться они к созданию исполняемого exe файла. В python2 для этой цели служит инструмент под названием py2exe, но, к сожалению, python3 он не поддерживает. Поэтому для создания исполняемого exe файла в python3 мы воспользуемся cx_Freeze.
Итак, начнем.
1) Скачиваем и устанавливаем cx_Freeze. В папке с Python появиться файл cxfreeze.bat - это основной рабочий файл cx_Freeze (У меня находиться в C:\Python32\Scripts\cxfreeze.bat)
2) Создаем две папки C:\Python32\Scripts\src
и
C:\Python32\Scripts\dst
для исходных и результирующих файлов.
3) Помещаем питон скрипт который мы хотим сделать exe файлом в папку C:\Python32\Scripts\src
4) Создаем файл run.bat (C:\Python32\Scripts\run.but) с следующим содержимым:
cd .
del dist\*.* /Q
call cxfreeze src\hello.py --target-dir dist
pause
Данный скрипт в текущей директории удаляет из папки dist все файлы, вызывает cxfreeze, и указывает откуда брать исходный файл, и куда помещать результат. Вот мы и имеем исполняемый файл под python3.))
Но есть одно "НО". Помимо самого exe файла, в папке будут некоторые необходимые для его функционирования файлы и библиотеки. Это несколько не то что мы ожидали (по крайней мере, я в свое время))))
Здесь нам на помощь приходит утилита от windows под названием iexpress, которая позволяет создавать исполняемые самораспаковывающиеся архивы (C:\WINDOWS\system32\iexpress.exe).
Запускаем утилиту. Первое окошко спрашивает, хотим ли мы создать новый или модифицировать старый архив - выбираем новый (точнее просто нажимаем далее), в следующем окошке тоже нажимаем далее (выбор типа архива), в следующем окне вписываем строчку которая будет отображаться в процессе распаковки(при желании), в следующем окне тоже далее (окно подтверждения установки), далее тоже далее (лицензионное соглашение), в следующем окне добавляем файлы которые были созданы (из папки dist). Следующее окно предлагает указать программу которая будет запущена после распаковки архива - из выпадающего списка выбираем наш exe файл hello.exe. В следующем окне выбираем далее (размер окна), в следующем по желанию вписываем сообщение, выводимое после распаковки. В следующем окне выбираем папку, куда поместить наш самораспаковывающийся архив с присвоением ему имени. Далее появляется окно с запросом о необходимости перезагрузки системы после выполнения - выбираем no restart, следующее окно спрашивает куда, если надо, поместить конфиг файл - выбираем don't save.
В результате всех действий имеем один исполняемый файл.
P.P.S
Столько просьб у любимой всегда!
У разлюбленной просьб не бывает.
(А. Ахматова)
P.P.P.S
Статья написана по мотивам
Итак, начнем.
1) Скачиваем и устанавливаем cx_Freeze. В папке с Python появиться файл cxfreeze.bat - это основной рабочий файл cx_Freeze (У меня находиться в C:\Python32\Scripts\cxfreeze.bat)
2) Создаем две папки C:\Python32\Scripts\src
и
C:\Python32\Scripts\dst
для исходных и результирующих файлов.
3) Помещаем питон скрипт который мы хотим сделать exe файлом в папку C:\Python32\Scripts\src
4) Создаем файл run.bat (C:\Python32\Scripts\run.but) с следующим содержимым:
cd .
del dist\*.* /Q
call cxfreeze src\hello.py --target-dir dist
pause
Данный скрипт в текущей директории удаляет из папки dist все файлы, вызывает cxfreeze, и указывает откуда брать исходный файл, и куда помещать результат. Вот мы и имеем исполняемый файл под python3.))
Но есть одно "НО". Помимо самого exe файла, в папке будут некоторые необходимые для его функционирования файлы и библиотеки. Это несколько не то что мы ожидали (по крайней мере, я в свое время))))
Здесь нам на помощь приходит утилита от windows под названием iexpress, которая позволяет создавать исполняемые самораспаковывающиеся архивы (C:\WINDOWS\system32\iexpress.exe).
Запускаем утилиту. Первое окошко спрашивает, хотим ли мы создать новый или модифицировать старый архив - выбираем новый (точнее просто нажимаем далее), в следующем окошке тоже нажимаем далее (выбор типа архива), в следующем окне вписываем строчку которая будет отображаться в процессе распаковки(при желании), в следующем окне тоже далее (окно подтверждения установки), далее тоже далее (лицензионное соглашение), в следующем окне добавляем файлы которые были созданы (из папки dist). Следующее окно предлагает указать программу которая будет запущена после распаковки архива - из выпадающего списка выбираем наш exe файл hello.exe. В следующем окне выбираем далее (размер окна), в следующем по желанию вписываем сообщение, выводимое после распаковки. В следующем окне выбираем папку, куда поместить наш самораспаковывающийся архив с присвоением ему имени. Далее появляется окно с запросом о необходимости перезагрузки системы после выполнения - выбираем no restart, следующее окно спрашивает куда, если надо, поместить конфиг файл - выбираем don't save.
В результате всех действий имеем один исполняемый файл.
и опять P.S. )))
Если случилось так, что Вам эта статья помогла, или вдруг возникло непреодолимое желание сделать что либо хорошее, можете присмотреться к рекламным объявлениям на этой страничке, и просмотреть особо понравившееся. )))
P.P.S
Столько просьб у любимой всегда!
У разлюбленной просьб не бывает.
(А. Ахматова)
P.P.P.S
Статья написана по мотивам