Упаковка проекта в exe
- Автор: Silver
- Просмотров: 315
Как всегда иногда )) встречается необходимость запускать проект на Python на разных машинах и не беспокоиться об установленных библиотеках, пакетах и вообще самом Python. Для версии python 2.7 и меньше замечательно подходит утилитка py2exe. Для проектов на python 3 нужно использовать замечательную утилитку по имени cx_Freeze. Она может собирать исполняемые проекты под linux и виндовз, x32 или x64. К делу.
Ставим, собственно, cx_Freeze отсюда http://cx-freeze.sourceforge.net/.
Для сборки под виндовз создаём где-то рядом с исходниками своего проекта скрипт, например, setup_win.py примерно следующего содержания:
# -*- coding: utf-8 -*- import sys from cx_Freeze import setup, Executable executables = [ Executable(script='main.py', initScript = None, appendScriptToExe=False, appendScriptToLibrary=False, base='Win32GUI', targetDir = r"dist", targetName = "SuperProg.exe", compress = True, copyDependentFiles = True,)] buildOptions = { 'compressed': True, 'packages':["dialogs","libs","models","res"], 'includes': [], 'path': sys.path, 'create_shared_zip':False } setup( name = "SuperProg", version = "0.1", description = "Моё творение", options = {'build_exe': buildOptions}, executables = executables)
И запускаем примерно так:
c:\Python33\python.exe setup_win.py build
После его работы замечаем в каталоге со своим проектом папочку dist со скомпилированными пакетами и исполняемым файлом. Вуаля.