Процесс преобразования простого Python script в исполняемый файл Windows

Я написал script, который поможет пользователю Windows в ее повседневной жизни. Я хочу просто отправить ее .exe и не просить ее установить python, dll или иметь дело с любыми дополнительными файлами.

Я прочитал множество записей stackoverflow, касающихся компиляции скриптов Python в исполняемые файлы. Я немного смущен, так как есть много вариантов, но некоторые из них датированы (никаких обновлений с 2008 года), и ни один из них не был достаточно прост для меня, чтобы не спрашивать об этом прямо сейчас после нескольких часов, потраченных на это.

Я надеюсь, что там будет лучший, современный способ сделать это.

Я просмотрел:

но либо я не мог заставить их работать, либо не мог понять, как получить нужный мне результат. Самое близкое, что я получил, было с py2exe, но оно все же дало мне MSVCR71.dll

Я был бы признателен за поэтапный ответ, так как мне также не удалось выполнить некоторые из настроек, которые требуют некоторого предварительного понимания того, как использовать py2exe или некоторые другие инструменты.

Я использую Python 2.5, поскольку один из модулей доступен только для этой версии.

Ответ 1

PyInstaller создаст однофайльный исполняемый файл, если вы используете параметр --onefile (хотя то, что он на самом деле делает, это выдержки, затем выполняется сам).

Здесь есть простой учебник PyInstaller здесь. Если у вас есть какие-либо вопросы по его использованию, отправьте их нам...

Ответ 2

Используя py2exe, включите это в свой setup.py:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1}},
    windows = [{'script': "YourScript.py"}],
    zipfile = None,
)

то вы можете запустить его через командную строку /Idle, оба работают для меня. Надеюсь, что это поможет.

Ответ 3

Я бы порекомендовал перейти на http://sourceforge.net/projects/py2exe/files/latest/download?source=files для загрузки py2exe. Затем создайте файл python с именем setup.py. Внутри него введите

from distutils.core import setup
import py2exe
setup(console=['nameoffile.py'])

Сохранить в папке пользователя Также сохраните файл, который вы хотите преобразовать в той же папке

Запустить команду командной строки окна введите setup.py install py2exe

Он должен напечатать много строк кода...

Затем откройте папку dist.

Запустите файл exe.

Если для работы программы требуются файлы, переместите их в папку

Скопировать/отправить папку dist пользователю.

Необязательно: измените имя папки dist

Надеюсь, что это сработает!:)

Ответ 4

Я присоединился к @Nicholas в рекомендации PyInstaller (с флагом --onefile), но будьте предупреждены: do not используйте "последнюю версию", PyInstaller 1.3 - ей лет. Используйте "предварительный выпуск" 1.4, загрузите его здесь - или даже лучше код из svn repo - установите SVN и запустите svn co http://svn.pyinstaller.org/trunk pyinstaller.

Как следует из @Nicholas, динамические библиотеки нельзя запускать из того же файла, что и остальная часть исполняемого файла, но, к счастью, они могут быть упакованы вместе со всеми остальными в "самораспаковывающемся" исполняемом файле, который распакует себя в некоторые по мере необходимости; PyInstaller хорошо справляется с этим (и во многих других случаях - py2exe более популярен, но pyinstaller, на мой взгляд, предпочтительнее во всех других отношениях).

Ответ 5

1) Получите py2exe из здесь в соответствии с вашей версией Python.

2) Сделайте файл под названием "setup.py" в той же папке, что и script, которую вы хотите преобразовать, имея следующий код:

from distutils.core import setup
import py2exe
setup(console=['myscript.py']) #change 'myscript' to your script

3) Перейдите в командную строку, перейдите к этой папке и введите:

python setup.py py2exe

4) Он сгенерирует папку "dist" в той же папке, что и script. Эта папка содержит файл .exe.

Ответ 6

вы можете посмотреть, может ли ваше приложение работать под IronPython. Если это так, вы можете скомпилировать его в exe http://www.codeplex.com/IronPython

Ответ 7

Вы можете создать исполняемый файл из скрипта Python с помощью NSIS (система установки с скриптом nullsoft). Выполните следующие шаги, чтобы преобразовать ваши файлы Python в исполняемый файл.

  • Загрузите и установите NSIS в вашей системе.
  • Сожмите папку в .zip файле, который вы хотите экспортировать в исполняемый файл.
  • Запустите NSIS и выберите Installer based on ZIP file. Найдите и укажите путь к вашему сжатому файлу.

  • Укажите Installer Name и путь к Default Folder и нажмите Generate, чтобы создать exe файл.

  • Как только это будет сделано, вы можете нажать Test для тестирования исполняемого файла или Close для завершения процесса.

  • Сгенерированный исполняемый файл может быть установлен в систему и может быть распространен для использования этим приложением, даже не беспокоясь об установке необходимого Python и его пакетов.

Для видео-учебника следуйте: Как конвертировать любой файл Python в .EXE

Ответ 8

Вы можете создать установщик для своего EXE файла:
1. Нажмите WinKey + R
2. Введите "iexpress" (без кавычек) в окно запуска
3. Заполните мастер для создания программы установки.
4. Распределите законченный EXE.