Создание одного exe-файла из кода Python

Возможный дубликат:
py2exe - создать один исполняемый файл

Моему другу удалось запаковать написанный им Ruby-скрипт в один exe-файл. Когда я попытался сделать то же самое для скрипта Python с помощью py2exe, у меня также появилось несколько файлов pyd и dll.

Можно ли упаковать скрипт Python со всеми его файлами DLL и pyd только в один exe и избавиться от других файлов?


person Geo    schedule 24.08.2009    source источник
comment
Обман: stackoverflow.com/questions/112698   -  person balpha    schedule 24.08.2009


Ответы (2)


Согласно py2exe.org:

Переключатель командной строки --bundle или -b создаст меньше файлов, поскольку двоичные расширения, библиотеки времени выполнения и даже сама Python-dll встроены в сам исполняемый файл или внутри архива библиотеки, если вы предпочитаете это.

...

Использование уровня 1 включает файлы .pyd и .dll в zip-архив или сам исполняемый файл и делает то же самое для pythonXY.dll. Преимущество состоит в том, что вам нужно распространить только один файл на exe, который, однако, будет довольно большим.

Также есть еще один небольшой учебник по созданию одного исполняемого файла, который будет расширять библиотеки DLL во временный каталог. во время выполнения, затем удалите tempdir при выходе из Python.

person Mark Rushakoff    schedule 24.08.2009

Эта страница, вероятно, может вам помочь. В частности, кажется, что этого можно добиться, установив bundle_files на 1 и zipfile на None. Я не тестировал его, и он может не работать, если у вас есть дополнительные файлы DLL.

Другой подход на этой странице кажется неуклюжим: создание установщика, который расширит проект во временный каталог перед его запуском, и удаление временного каталога после завершения работы приложения.

person Remy Blank    schedule 24.08.2009