Перейти к содержимому

Nsis python как пользоваться

  • автор:

Можно ли создать установщик для python программы?

Можно ли сделать готовую программу с установщиком и если можно какие есть инструменты для создания установщика?

Отслеживать
задан 4 ноя 2019 в 15:45
657 8 8 серебряных знаков 27 27 бронзовых знаков

Компиляция не имеет никакого отношения к запуску без установки python. Даже скомпилированные на C++ программы требуют устанавливать стандартную библиотеку и какой-нибудь vcredist правильной версии.

4 ноя 2019 в 15:51

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

4 ноя 2019 в 15:53
nuitka, pyinstaller, py2exe
4 ноя 2019 в 15:58
cx_freeze ещё есть
4 ноя 2019 в 22:36

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Если нужен именно установщик под Windows аля setup.exe то сначала pyinstaller для генерации всех нативных dll и exe , а затем nsis для создания установщика. В результате получится setup.exe с вашей программой, который при нужных настройках установит программу в нужный каталог, создаст ключи в реестре, сделает ярлыки, создаст uninstall.exe и много чего еще.

Отслеживать
user399117
ответ дан 13 ноя 2019 в 8:16
Константин Рыбаков Константин Рыбаков
512 2 2 серебряных знака 10 10 бронзовых знаков

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Создание установщика Windows для Python + набор зависимостей

Мне нужно создать установщик для Windows, который должен иметь возможность устанавливать определенную версию интерпретатора Python (2.7), а также установить зависимости, такие как ipython, numpy, pandas и т.д. В основном это то же самое, что и Active State для своего активного дистрибутива Python: один пакет, включая интерпретатор + deps. Не будучи пользователем Windows, я не уверен, с чего начать, кроме, возможно, глядя на NSIS (может быть, это помочь?).

Giampaolo Rodolà 10 май 2012, в 15:59
Поделиться

AFAIK, идея состоит в том, чтобы использовать py2exe или cx_freeze для создания исполняемого файла и использовать NSIS или Inno Setup для создания установщика. Но никогда не пробовал.

KurzedMetal 10 май 2012, в 13:35

Разве py2exe не предназначен, чтобы «заморозить» определенное приложение python, превратив его в исполняемый файл? Цель здесь — создать пакетный установщик, включающий самого Python iterpreter + набор сторонних модулей.

Giampaolo Rodolà 10 май 2012, в 13:48

Это то, что делает freeze, связывает исполняемый файл / dll на python и используемые модули в пакет .exe . Единственная разница в том, что вы не устанавливаете Python в масштабе всей системы, и он не ломает вещи и не дает сбоя

KurzedMetal 10 май 2012, в 13:52
Показать ещё 1 комментарий
Поделиться:

3 ответа

Я предлагаю использовать инструмент упаковки, который я также использую для создания релизов Python, который находится в Tools/msi/msi.py. Распакуйте дополнительные зависимости поверх источника Python (или установки), затем настройте msi.py, чтобы выбрать все дополнительные файлы, которые вы хотите упаковать. Вы должны отрегулировать строки отображения, чтобы указать, что это действительно отдельный дистрибутив Python.

Martin v. Löwis 10 май 2012, в 16:36
Поделиться

Для Windows там pynsist. Он использует NSIS внутри и связывает Python, поэтому вам не нужно. Он поставляется с полезными примерами.

Отказ от ответственности: я еще не пробовал пинсиста, но скоро.

Florian Sesser 19 сен. 2014, в 16:57
Поделиться

Если вы хотите упаковать предопределенную версию python и некоторые зависимости, я бы предложил, используя NSIS и AutoIt.

NSIS может использоваться для встраивания другого установщика, но в конкретном случае модулей python некоторые из их установщиков не могут использоваться в автоматическом режиме. Чтобы обойти эту проблему, AutoIt можно использовать для имитации нажатий клавиш.

Для получения дополнительной информации о внедрении другого установщика в NSIS: http://nsis.sourceforge.net/Embedding_other_installers

Alexandre Huppe 10 май 2012, в 17:41
Поделиться

Ещё вопросы

  • 0 Обновление с объединением с условиями из другой таблицы [MySQL]
  • 0 Странная проблема со смещенной вершиной в jquery
  • 1 Как сравнить длину слов во входном тексте и отсортировать их по значению длины
  • 1 EWS Managed API Timezone «Невозможно конвертировать»
  • 0 JQuery Невозможно получить данные службы drupal через localhost: 8888
  • 0 Codeception — Как обратиться к полю с неуникальным именем
  • 1 Циклы в Python: изменить один столбец на основе значений в других столбцах
  • 0 Создание суммы / общего количества строк пользователем в запросе sql для отчета csv / excel
  • 1 Получить исходный код от публикации веб-службы
  • 0 Как добавить разные цвета для диапазона значений в Grey_CircularLinearGauge из DOJO
  • 0 что такое цель: x86_64-redhat-linux?
  • 0 SQL соответствует условиям на основе максимального значения
  • 0 $ location в $ timeout в AngularJS
  • 1 Обработка событий для переключения видимости родственного элемента SVG?
  • 0 MySQL: возможно ли ПОЛУЧИТЬ ПОЛЕ в ОБНОВЛЕНИИ?
  • 0 Как найти двоичные файлы сервера MS Word ActiveX и зарегистрировать их?
  • 0 Как заселить значение в векторе
  • 0 мгновенный поиск без раскрывающегося списка с помощью jquery ui
  • 0 после закрытия окна оповещения кнопка отправки не активируется
  • 0 $ index перезапустить каждую строку в ng-repeat
  • 0 Держи диалог div где я его положил
  • 0 необходимо сохранить значение ‘this’ в файле cookie JQuery
  • 1 Регулярное выражение Javascript допускает только один знак плюс (+) в начале, а длина строки не должна превышать 15 символов
  • 0 Как использовать оператор управления (оператор if) во вложенной директиве ng-repeat?
  • 0 Google API PHP и электронные таблицы Google
  • 1 Текстовый редактор с Tkinter Python 3
  • 0 JQuery AutoCompleter — мульти и пользовательские данные
  • 1 Клиент XSockets подключается, но не получает сообщения
  • 1 CRM OData DateTime Проблема с часовым поясом
  • 1 Показать страницу ошибки при сбое приложения из-за необработанного исключения
  • 0 В чем разница между поиском и фильтром в jquery? [Дубликат]
  • 1 IndexOutOfBoundsException при добавлении элементов к определенному индексу с помощью обозревателя LiveData
  • 1 Javascript извлечь регулярное выражение из строки
  • 1 Получить содержимое с помощью двух меток с помощью Casperjs
  • 1 [Python Falcon]: gunicorn работает в терминале, но не в PyCharm
  • 1 получить сообщение, если отправить электронную почту не удалось C # и Gmail
  • 0 Встроенный Boost-Spirit-Lex для придания токенам имени строки?
  • 0 Включая заполнитель изменяет метод ngResource save () с POST на GET
  • 1 Метод onClick не найден
  • 1 Фильтрация результатов по пересечению коллекций?
  • 0 Сортировать массив от высокого к низкому
  • 0 Создать экземпляр класса на основе строкового ввода
  • 0 PHP-скрипт не выполняется на сервере Apache
  • 1 поле ввода события Pygame
  • 0 Чтение файла, в котором отчество не обязательно
  • 0 Разное поведение-VisualStudio Отладчик против запуска exe
  • 0 Вместо электронной почты идентификатор пользователя идет в базу данных
  • 0 JQuery: получение данных не работает
  • 1 Копировать весь текстовый документ, включая таблицы, в другой, используя Python

NSIS: установщик ПО для Windows можно собрать и под Linux

NSIS (Null Soft Installer) — легендарный установщик программного обеспечения под Windows от создателя не менее легендарного проигрывателя WinAmp. С дистрибутивами, созданными с помощью NSIS, встречался, без сомнения, каждый пользователь Windows. Пользоваться этим продуктом не стесняются крупные корпорации, благо он распространяется по свободной лицензии. Если при работе какого-нибудь setup.exe вы видите бегущие на черном фоне зеленые строчки, то скорее всего вы имеете дело с NSIS.

Создать дистрибутив с помощью этого SDK довольно просто. Нужно лишь изучить нехитрый синтаксис, составить скрипт и откомпилировать его с помощью консольной утилиты makensis.exe. Подробности легко найти в сети. Однако есть небольшая проблема: если нужно создать кроссплатформенное ПО, то придется вылезать под Windows. Хотя почему придется? NSIS прекрасно работает и под Linux!

Для установки NSIS на Linux-машину нужно скачать его исходники и распаковать, как обычно, в /usr/src. Но никаких «./configure && make && make install» там не предусмотрено. Вместо этого используется сборщик SCons, написанный на Python’e. Скачиваем его, закидываем всё в тот же /usr/src, заходим в каталог и делаем… Нет, опять не «./configure && make && make install». На питоновском языке это звучит как

python setup.py install

Вот теперь возвращаемся в каталог исходников NSIS и вводим следующее:

scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no PREFIX=. install-compiler

Попыхтев пару минут, компилятор выдаст бинарник makensis, который можно вручную скопировать, например, в /usr/bin. Насколько мне известно, ничего другого для компиляции скриптов NSIS не нужно (за исключением файлов, входящих в его SDK, но они у вас уже есть, раз уж собрался makensis). Если при компиляции каких-то файлов не хватит — возьмите из комплекта для Windows, разницы нет. При этом использование Wine не предполагается.

  • кодинг,
  • кроссплатформенность,
  • дистрибутивы

Python

После того, как ваша программа готова к релизу, вы вероятно хотите упаковать ее должным образом, прежде чем распространять. Если он состоит всего из одного файла .py, то это не такая уж и проблема, но если вы имеете дело с не программистами, даже помещая простую библиотеку Python в нужном месте, или изменение PYTHONPATH может быть больше того, что они ожидали. Пользователи обычно хотят просто двумя щелчками установить программу, используя установщик, и затем пользоваться программой.
В последнее время, Python программисты также привыкли к подобным удобствам, хотя и с немного более низкого уровня интерфейса. Инструментарий Distutils для распространения пакетов позволяет легко писать сценарии установки в Python. Вы можете использовать эти скрипты для создания файлов архива для релиза, который программист(пользователь) затем может использовать для компиляции или инсталяции ваших бинарников.
В этой главе я остановлюсь на Distutils, поскольку это важный инструмент в инструментарии программиста. Distutils выходит за рамки установки только скриптовых библиотек питона: вы можете создавать простые Windows установщики, и с расширением py2exe вы можете создать автономные исполняемые программы для Windows.
И если вы хотите самоустанавливающийся архив для ваших исполняемых файлов, я приведу несколько примеров для этого.

Distutils Основы

Distutils тщательно документирована в двух документах, «Distributing Python Modules» и «Installing Python Modules», оба доступны из Python Library Reference (http://python.org/doc/lib/module-distutils.html). Вы можете использовать Distutils делать всякие полезные вещи, написав сценарий так просто, как этот:

from distutils.core import setup

setup(name=’Hello’,
version=’1.0′,
description=’A simple example’,
author=’Magnus Lie Hetland’,
py_modules=[‘hello’])

Заметка. Дополнительные значения, заданные здесь, используются для нескольких вещей. Ключевые слова name и version, используются для именования архивных файлов, а также автора и описание, в конечном итоге в файле под названием PKG-INFO в любых архивах, которые вы создаете.
Вы действительно не должны писать всю эту информацию в функции setup (вы на самом деле не обязаны писать вообще что-либо), и вы конечно, можете указать больше (например, author_email или URL ). Имена должны быть понятны. В следующих разделах, вы увидите, как вы можете использовать этот простой сценарий.

Базовая установка

Назовите ваш скрипт setup.py (это универсальное соглашение для сценариев установки Distutils), и убедитесь, что у вас есть простой модуль под названием hello.py в том же каталоге.

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

Теперь запустите скрипт, вот так:

Вы должны получить примерно такой ответ:

usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] . ]
or: setup.py —help [cmd1 cmd2 . ]
or: setup.py —help-commands
or: setup.py cmd —help
error: no commands supplied

Как вы можете видеть, вы можете получить более подробную информацию, используя —help или —help-команда. Попробуйте использовать команду сборки, просто чтобы увидеть Distutils в действии:

python setup.py build

Теперь вы должны видеть вывод, примерно как тут:

running build
running build_py
creating build
creating build/lib
copying hello.py -> build/lib

Distutils создал папку с именем build, с другой подпапкой с именем lib, и положил копию hello.py в build/lib. Подкаталог build своего рода рабочая область, где Distutils собирает пакет(и компилирует библиотеки расширения). Вам не нужно запускать команду build, когда вы устанавливаете—оно запустится автоматом, когда вы пишите команду install.
Говоря о котором. давайте попробуем установить модуль:

python setup.py instal

Внимание. Это скопирует модуль hello.py в какую-нибудь папку в PYTHONPATH . Это не представляет опасность, но если вы не хотите засорять вашу систему, вы можете удалить его позже; сделайте отметку о том, где он находится в качестве вывода setup.py. На момент написания статьи нет стандартной команды для удаления модуля, поэтому придется сделать это вручную.

Теперь вы должны видеть вывод, примерно как тут:

running install
running build
running build_py
running install_lib
copying build/lib/hello.py -> /path/to/python/lib/python2.4/site-packages
byte-compiling /path/to/python/lib/python2.4/site-packages/hello.py to hello.pyc

Примечание. Если вы используете Python, который вы не ставили для себя и у вас нет нужных прав, то вы не сможете установить модуль как здесь показано, потому что у вас нет прав на запись в этой директории.

Это стандартный механизм, используемый для установки модулей Python, пакетов и расширений. Все, что вам нужно сделать, это обеспечить небольшой скрипт установки.

В примере, я использовал только директиву py_modules от Distutils; если вы хотите установить пакет, вы можете использовать пакеты директивы аналогичным способом(просто перечислив имена пакетов).Есть много других вариантов, которые вы можете установить (некоторые из которых рассматриваются в разделе «Компиляция расширений» далее в этой главе). Вы также можете создать файлы конфигурации для Distutils, чтобы установить различные свойства (см. раздел «Distutils Configuration Files» в “Установка Python Модулей,” http://python.org/doc/inst/config-syntax.html)
Различные опции (ключи командной строки, аргументы ключевых слов для установки, а также конфигурационные файлы Distutils) позволяют сказать, что установить и куда. Приятно то, что эти параметры могут быть использованы для более чем одной вещи. В следующем разделе показано, как обернуть модули, указанные для установки в качестве архивного файла, готовые для распространения.

Обертываем вещички

Написав скрипт setup.py, который позволит установить пользователю ваши модули, вы так же можете использовать его для себя создав файл архива. Вы можете сделать его с помощью команды sdist (“source distribution”):

python setup.py sdist

Если вы запустите это, вы увидите разный текст, включая предупреждения. Предупреждения, которые я получаю включают жалобы об отсутствии опции author_email, MANIFEST.in и README. Мы безопасно можем игнорировать их все (хотя, не стесняйтесь добавить опцию author_email к вашему скрипту setup.py, также опцию author и README или README.txt и пустой файл, называемый MANIFEST.in в текущей директории).

ЧТО ТАКОЕ MANIFEST.in?

При создании дистрибутива исходного кода создается файл с именем MANIFEST , содержащий список всех ваших файлов. Файл MANIFEST.in является шаблоном для манифеста, и используется, когда используется для установки. Вы можете использовать следующие строки

чтобы указать файлы, которые вы хотите включить, если Distutils не понял это сам по себе, используя свой setup.py скрипт (и по умолчанию включает в себя, например, README ).

После предупреждений вы должны увидеть примерно следующее:

writing manifest file ‘MANIFEST’
creating Hello-1.0
making hard links in Hello-1.0.
hard linking hello.py -> Hello-1.0
hard linking setup.py -> Hello-1.0
tar -cf dist/Hello-1.0.tar Hello-1.0
gzip -f9 dist/Hello-1.0.tar
removing ‘Hello-1.0’ (and everything under it)

Заметка. Если вы запускали команду раньше, и у вас есть файл с именем MANIFEST, вы увидите слово reading, вместо writing в самом начале. Если вы изменили структуру своего пакета и хотите упаковать его, удалив файл манифеста может быть хорошей идеей, чтобы начать все заново.

Теперь, в дополнение к подкаталогу build у вас должен быть один под названием dist . Внутри него вы найдете архив gzip или zip, названый Hello-1.0.tar.gz . Теперь он может быть распространен среди других и они могут распаковать его и установить с помощью setup.py . Если вы не хотите формат .tar.gz , вы можете настроить другой формат через опцию —formats . (Так как множественное число указывает на более одного формата, через запятую вы можете указать форматы, чтобы создать больше архивов за раз). Доступные форматы в Python 2.4 являются bztar (для bzip2 архивов), gztar(для форматов gzip ), tar (для незжатых tar файлов), zip (для zip файлов), и ztar (для сжатых tar файлов, используются команды UNIX — compress ).
Существует также команда bdist , которую вы можете использовать (помимо всего прочего), чтобы создавать простые установщики Windows и файлы RPM для Linux. Обычно используется для создания бинарных дистрибутивов, где расширения были скомпилированы для конкретной архитектуры. Смотрите следующий раздел для получения информации о компиляции расширений.) Форматы доступные для bdist (в дополнение к sdist ) это rpm (для rpm пакетов) и wininst (для исполняемых файлов Windows).
Один интересный твист в том, что вы можете собрать Windows установщик для вашего пакета вне системы Windows, при условии, что у вам не нужно компилировать другие расширения. Если у вас есть доступ к обеим, ну скажем Linux и Windows, вы можете попробовать набрать следующее

python setup.py bdist —formats=wininst

на вашей Linux машине, и затем(после игнорирования парочки предупреждений от настроек компилятора) скопировать файл dist/Hello-1.0.win32.exe в вашу Windows машину и запустить. Затем вы увидите рудиментарный мастер установки. (Вы можете отменить процесс установки модуля, если хотите.)

ИСПОЛЬЗОВАНИЕ НАСТОЯЩЕГО УСТАНОВЩИКА

Установщик, который вы получили с помощью wininst из Distutils очень примитивен. В случае если вы использовали Distutils, то вы не сможете удалить ваши пакеты. Это не может быть проблемой для вас, но иногда вы можете захотеть более профессиональный вид. Это может быть особенно актуально, если вы создаете исполняемый файл, используя py2exe (описанный далее в этой главе). В этом случае, вы можете рассмотреть некоторые стандартные установщики, таких как Inno Setup(http://jrsoftware.org/isinfo.php), которые отлично работают с исполняемыми файлами созданными с помощью py2exe, и устанавливают вашу программу как обычную программу Windows и дают вам возможность как деинсталяция.
Установщик McMillan более ориентирован на Python (поиск в сети даст вам ссылку на страницу загрузки), который может работать как альтернатива py2exe при создании исполняемых файлов. Другие варианты включают InstallShield (http://installshield.com), Wise installer (http://wise.com), Installer VISE (http://www.mindvision.com), Nullsoft Scriptable Install System (http://nsis.sf.net), Youseful Windows Installer (http://youseful.com) и Ghost Installer (http://ethalone.com).

Для более подробной информации об установщиках Windows, смотрите книгу The Definitive Guide to Windows Installer(Phil Wilson) (Apress, 2004).

Компиляция расширений

В главе 17 вы видели как писать расширения для Python. Вы наверно согласитесь, что сборка этих расширений может быть немного обременительна время от времени; к счастью для этого вы можете использовать Distutils. Вы можете посмотреть исходный код программы palindrome в гл. 17(в листинг 17-6). Предположим, что у вас есть исходный файл palindrome2.c в текущей (пустой) папке, используя скрипт setup.py может быть использован для компиляции (и установки).

from distutils.core import setup, Extension
setup(name=’palindrome’,
version=’1.0′,
ext_modules = [
Extension(‘palindrome’, [‘palindrome2.c’])
])

Если вы запустите команду install со скриптом setup.py , расширение palindrome должно автоматически скомпилироваться до его установки. Как вы можете видеть, вместо того, чтобы указать список модулей, вы даете ext_modules аргумента список экземпляров Extension. Конструктор использует имя и список похожих файлов—это место, где вы должны указать хидер файлы(.h).
Если вы предпочли просто скомпилировать расширение (записывая результат в файл palindrome.so в текущем каталоге), вы можете использовать следующую команду:

python setup.py build_ext —inplace

Теперь вы действительно получили сочненькое. Если у вас установлен SWIG (см. главу 17) вы можете использовать Distutils напрямую!

Взгляните на исходный код оригинального palindrome.c (без всего оберточного кода) в листинге 17-3. Это, конечно, намного проще, чем обновленная версия. Возможность компиляции напряму в качестве Python расширения, имея Distutils и используя SWIG — может быть очень удобным. Это реально очень просто—вы просто добавляете имя файла интерфейса (.i) (см. листинг 17-5) в список файлов в экземпляре Extension.

from distutils.core import setup, Extension
setup(name=’palindrome’,
version=’1.0′,
ext_modules = [
Extension(‘palindrome’, [‘palindrome.c’,
‘palindrome.i’])
])

Если запустить этот скрипт, используя ту же команду, как и раньше (build_ext, возможно, с помощью переключателя —inplace), вы должны разобраться с файлом palindrome.so снова, но на этот раз без необходимости писать весь код обертки самостоятельно.

Создание исполняемых программ с py2exe

py2exe расширения для Distutils (доступное с http://starship.python.net/crew/theller/py2exe) позволяет вам создавать исполняемые файлы Windows(.exe), которые могут быть полезны, и чтобы ваши пользователи не устанавливали отдельно интерпретатор Python.

Совет. После создания исполняемой программы, вы наверно захотите использовать инсталлятор, например Inno Setup или недавно упомянутую главу — “Используем реальный установщик”, ранее в этой главе, чтобы распространять программу и сопутствующие файлы, созданные py2exe.

Пакет py2exe, может быть использован для создания исполняемых файлов с графическим интерфейсом (например wx, который описан в главе 12). Давайте посмотрим на небольшой пример (используя трюк raw_input, который был в главе 1, в секции “Что на счет двойного нажатия мыши?”):

print ‘Hello, world!’
raw_input(‘Press ‘)

Опять же, начинаем с пустой папки содержащий только один файл hello.py, затем создайте setup.py как тут:

from distutils.core import setup
import py2exe
setup(console=[‘hello.py’])

Вы можете запустить скрипт так:

python setup.py py2exe

Это создаст консольное приложение (так называемое Hello.exe) вместе с несколькими другими файлами в поддиректории Dist. Вы можете либо запустить его из командной строки или дважды щелкнуть по нему. Более подробную информацию о том, как py2exe работает и возможность использовать его в более сложных способах, можно найти на веб-сайте py2exe (http://starship.python.net/crew/theller/py2exe).

Быстрое Резюме

И наконец, теперь вы знаете как создать блестящие, профессионально выглядящие программы с графическим интерфейсом или как автоматизировать генерацию драгоценных файлов .tar.gz. Вот краткое изложение охваченных тем:

Distutils. Позволяет вам писать скрипты установщики, обычно называемые setup.py, которые позволяют устанавливать модули, пакеты и расширения и которые позволяют создавать простые инсталяторы и архивы для Windows.

Команды Distutils. Вы можете запустить ваш setup.py несколькими командами, такими как build, build_ext, install, sdist и bdist.

Установщики. Очень много разных генераторов инсталлеров и вы можете использовать большинство из них для установки ваших Python программ, делая процесс легким для ваших пользователей.

Компиляция расширений. Вы можете использовать Distutils, чтобы ваши C расширения компилировались автоматически, Distutils автоматически найдет установленный Python и выяснит какой использовать компилятор. Вы так же можете использовать SWIG автоматически.

py2exe. Расширение py2exe к Distutils может быть использован для создания исполняемых двоичных файлов из ваших программ Python. Наряду с парой дополнительных файлов (которые могут быть легко установлены с инсталлятором), эти EXE-файлы можно запустить без установки интерпретатора Python.

Что дальше?

Это все, для технического материала-разбирайтесь. В следующей главе вы получите методологию и философию, и затем пойдут проекты. Наслаждайтесь!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *