Процесс преобразования простого 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.