http://borisnote.wordpress.com/2010/01/04/python3-in-exe/Или
Pyinstaller
На сайте http://pyinstaller.org хостится важнейшая для нас на сегодня тулза. Она представляет собой набор скриптов, которые позволяют из обычного py-скрипта сделать exe-шник. Скачивай ее с сайта или с диска и давай потестим. Допустим, ты распаковал ее на диск D:.
Конфигурируем:
D:\pyinstaller> Configure.py
Теперь для теста в папке D:\test\ создай питоновский скрипт test.py:
print "OK"
open("ok.txt", "w").write('ok')
Создание exe-шника проходит в два этапа. Сначала скриптом Makespec. py записывается файл «spec» с параметрами «компиляции», а затем — скрипт Build.py создает непосредственно экзешник. Скрипт Makespec.py, кроме пути к py-файлу принимает много разных параметров, но нам важны лишь эти:
• «F», на выходе получим один лишь exe-шник;
• «w», не показывать консоль, без этого параметра по умолчанию программа запускается с консольным окном;
• «X», использовать UPX для сжатия exe;
• «--icon=file.ico», использовать указанную иконку.
Во время разработки желательно использовать только один параметр («F») с целью создания отладочного режима, — чтобы в результате получился один файл и окно, в котором мы бы видели свои ошибки. Проверяем и компилируем:
D:\pyinstaller> Makespec.py -F -w -X d:\test\test.py
D:\pyinstaller> Build.py d:\pyinstaller\test\test.spec
Несколько секунд ожидания… готово! Результат работы покоится в папке d:\pyinstaller\test\dist\. Наш test.exe получился размером в 2.4 Мб, и, если его запустить, то может показаться, что ничего не сработало — окна нет. Однако ok.txt создается, а значит, все отлично работает.
Запускайте .exe через ком.строку ,что бы видеть какие ошибки выдает и по мере необходимости добавляйте модули
Если надо увидеть что пишет в окне шелла и закрывается то набираем program.exe /print c:\ doc\1.txt
Ну или просто запускаем прогу ехе из ком строки питона и тогда будет видно какие ошибки выдает окно шелла при запуске проги,каких может модулей не хватает
from cx_Freeze import setup, Executable
includes = ['zlib', 'zipfile', 'gzip','zipimport']
GUI2Exe_Target_1 = Executable(
script = "adcvasc.py",
base = 'Win32GUI',
compress = False,
copyDependentFiles = True,
appendScriptToExe = False,
appendScriptToLibrary = False,
icon = None
)
setup(
name = "hello",
version = "0.1",
executables = [GUI2Exe_Target_1],
options = {"build_exe": {"optimize": 2,
"base": "Win32GUI",
"packages": "zipimport",
"copy_dependent_files": "True",
"includes": includes
}
}
)
Еще есть Nuitka,но с этим я так и не разобрался в свое время
Да и py2exe тоже можно собирать,главное правильно
Приступим к созданию exe файла. Создадим файл setup.py.
Содержание файла setup.py:
from distutils.core import setup
import py2exe
setup(console=['access.py'])
access.py – имя нашего скрипта авторизатора.
Чтобы создать ехе файл, выполним команду python setup.py py2exe.
В процесс создания ехе файла были созданы две директории: build и dist. Нам понадобится только dist.
Переходим в директорию dist. Выбираем файл access.exe и запускаем его.
при проблеме если при запуске ехе пишет типа нет модуля то добавляем модули так
from distutils.core import setup
import py2exe
setup(
windows=[{'script': 'gui.py'}],
options={
'py2exe':
{
'includes': ['lxml.etree', 'lxml._elementpath', 'gzip'],
}
}
)
в файл setup.py