Всем привет.
Утилита py2exe позволяет превратить любой скрипт на Python в монолитный исполняемый файл Windows, и запускать без наличия интепретатора Python в системе.
Домашняя страница проекта - http://www.py2exe.org/index.cgi/FrontPage.
Вначале подготовим площадку для конвертации .py -> .exe. Установим сам Python. Проверим связь Python-файлов в Windows:
c:>assoc .py
.py=Python.File
c:>ftype Python.File
Python.File="C:Python27python.exe" "%1" %*
Теперь зная какой у нас Python - качаем файл самого конвертора со страницы http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/, в данном случае - py2exe-0.6.9.win32-py2.7.exe. Устанавливаем его. Чтобы убедиться, что все пакеты готовы к работе - запускаем консоль и проверяем:
Если сообщений импорта нет - то всё Ok.
Для создания своего exe-файла - нам потребуется создать файл setup.py с такими содержимым:
# py2exe download link: http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/
from distutils.core import setup
import py2exe, sys, os
sys.argv.append("py2exe")
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
windows = [{'script': "Client.py"}],
zipfile = None
)
print('Hello World!')
Проверяем как он работает:
c:>python Client.py
Hello World!
Запускаем создание exe:
c:>python setup.py
Проверяем:
c:>dir dist
c:dist>Сlient.exe
Hello World!
Готово. Теперь можно скопировать dist\Сlient.exe на любую Windows-машину, и запускать его там. Больше ничего копировать не нужно. Если скрипт импортирует какие-то дополнительные модули - они будут включены в exe. За это отвечает параметр bundle_files. К сожалению утилита py2exe работает только с 2-й версией Python.
Успехов.
2 comments:
На сайте есть версия для Python 3.
pip install pyinstaller
pyinstaller --onefile Client.py
Post a Comment
А что вы думаете по этому поводу?