Процесс преобразования простого скрипта Python в исполняемый файл Windows - PullRequest
77 голосов
/ 26 января 2010

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

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

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

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

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

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

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

Ответы [ 8 ]

31 голосов
/ 26 января 2010

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

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

13 голосов
/ 24 декабря 2012

Я бы порекомендовал перейти на 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

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

13 голосов
/ 26 февраля 2010

Используя 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, у меня оба работают. Надеюсь, это поможет

8 голосов
/ 26 января 2010

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

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

6 голосов
/ 19 июня 2014

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

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

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

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

python setup.py py2exe

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

2 голосов
/ 26 января 2010

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

0 голосов
/ 28 апреля 2019

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

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

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

  • По завершении вы можете нажать Test , чтобы проверить исполняемый файл, или Закрыть , чтобы завершить процесс.

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

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

0 голосов
/ 09 октября 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...