Утилита py2exe
позволяет превратить любой скрипт на Python в обчный исполняемый файл Windows, и запускать его даже без наличия интепретатора Python в системе.
Домашняя страница проекта – http://www.py2exe.org/index.cgi/FrontPage.
Проверяем связь 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.win64-py2.7.amd64.exe.
Устанавливаем, обращаем внимание на пути – может пригодиться в случае проблем:
Для работы py2exe
– требуется пакет setuptools
.
Качаем скрипт https://bootstrap.pypa.io/ez_setup.py, устанавливаем:
c:>python c:optez_setup.py ... Installed c:python27libsite-packagessetuptools-12.2-py2.7.egg Processing dependencies for setuptools==12.2 Finished processing dependencies for setuptools==12.2
Что бы убедиться, что все пакеты готовы к работе – запускаем консоль и проверяем:
c:>python Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from distutils.core import setup >>> import py2exe >>>
Если ошибок импорта нет – то всё работает.
Для создания своего exe
-файла – нам потребуется создать файл setup.py
с такими содержимым:
from distutils.core import setup import py2exe setup(console=['hello.py'])
Создаём Python-скрипт, который будем превращать в exe
-файл, в данном случае – он называется hello.py
и содержит всего одну строку:
print('Hello World!')
Проверяем как он работает:
c:>python hello.py Hello World!
Запускаем создание exe:
c:>python setup.py py2exe ... Make sure you have the license if you distribute any of them, and make sure you don't distribute files belonging to the operating system. USER32.dll - C:Windowssystem32USER32.dll SHELL32.dll - C:Windowssystem32SHELL32.dll ADVAPI32.dll - C:Windowssystem32ADVAPI32.dll WS2_32.dll - C:Windowssystem32WS2_32.dll GDI32.dll - C:Windowssystem32GDI32.dll KERNEL32.dll - C:Windowssystem32KERNEL32.dll
Проверяем:
c:>dir dist Volume in drive C is OSDisk Volume Serial Number is C04B-8B6F Directory of c:dist 19.02.2015 17:13 <DIR> . 19.02.2015 17:13 <DIR> .. 10.11.2013 18:24 80 896 bz2.pyd 19.02.2015 17:13 24 064 hello.exe 19.02.2015 17:13 1 605 316 library.zip 10.11.2013 18:24 3 004 416 python27.dll 10.11.2013 18:24 10 752 select.pyd 10.11.2013 18:24 689 664 unicodedata.pyd 10.11.2013 18:25 474 624 _hashlib.pyd 7 File(s) 5 889 732 bytes 2 Dir(s) 222 058 872 832 bytes free
c:dist>hello.exe Hello World!
Готово. Теперь можно скопировать директорию dist
на любую Windows-машину, и запускать hello.exe
.
Если скрипт импортирует какие-то дополнительные модули – они будут включены в exe
– и dll
-файлы.
Подробнее смотрите в FAQ – http://www.py2exe.org/index.cgi/FAQ.