Рубрики
Без рубрики

Упаковка WxPymail для распределения

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

В этой статье я собираюсь пройти шаги, необходимые для пакета моей программы, wxpymail Итак, я могу распространить его другим пользователям Windows. Я буду пользоваться Андреа Гавана Отлично Утилита Gui2exe Для создания исполняемости и я буду использовать Inno Setup создать установщик. Мне сказали, что Andrea работает над новой версией его приложения, поэтому, когда он выходит, я повторю эту статью для этой версии и опубликую ее.

Настройка GUI2EXE UP

Процесс создания исполняемого файла с GUI2EXE очень простым. Gui2exe на самом деле графический интерфейс для Py2exe Отказ Я настоятельно рекомендую GUI2EXE для всего вашего исполняемого создания, потому что его намного проще в использовании. Однако, если вы любите командную строку, чем вы можете использовать Py2exe все сам по себе. Они даже включают примеры для приложений WXPYPHON в каталоге образцов. Во всяком случае, после загрузки GUI2EXE установите его и загрузите программу. Теперь вы должны увидеть что-то вроде этого:

Теперь иди к Файл -> Новый проект и дать вашему проекту имя. Я собираюсь позвонить мою wxpymail Отказ Я собираюсь добавить подделку Название компании , Авторское право и дать ему Название программы Отказ Обязательно просмотрите свой главный сценарий Python. Для этого проекта это wxpymail.py. Согласно веб-сайту Andrea, вы должны установить Оптимизировать до 2, Сжатый до 2 и Сборные файлы До 1. Это, кажется, работает большую часть времени, но у меня были какие-то вкусные ошибки, которые кажутся стебельми от установки последнего на «1». Фактически, согласно одному из моих контактов по списку рассылки PY2EXE, опция «Bundle» должна быть установлена на 3, чтобы минимизировать ошибки. Хорошая вещь о настройке пучок до «1» в том, что вы заканчиваете только одним файлом, но поскольку я собираюсь свернуть его с Inno, я собираюсь пойти с вариантом «3», чтобы убедиться, что моя программа работает хорошо.

Также обратите внимание, что я включил XP манифест Отказ Это делает ваше приложение «родным» в Windows, поэтому ваша программа должна соответствовать теме, которая в настоящее время действует.

Просто чтобы убедиться, что вы следуете, вы проверите скриншоты ниже:

Как только у вас есть все, как вы хотите, нажмите на Компилировать кнопка в правом нижнем правом углу. Это создаст все файлы, которые вы хотите распространить в Dist папка, если вы не изменили имя, проверяя Dist Флажок и редактирование последующего текстового ящика. Когда это сделано компиляция, Gui2exe спросит вас, хотите ли вы проверить свой исполняемый файл. Идти вперед и ударить Да Отказ Я получил ошибку в первый раз, когда я сделал это, и когда я посмотрел на журнал, он сказал, что не может найти модуль SMTPLIB. Чтобы исправить эту конкретную ошибку, нам нужно будет включить его.

Чтобы включить этот модуль, щелкните внутри коробки, помеченного Включает в себя и нажмите Ctrl + A. Вы должны увидеть значок появляться и слова Редактировать меня Отказ Просто нажмите на эти слова и введите smtplib Отказ Теперь попробуйте компилировать это. Я получил еще одну обзорную ошибку:

Traceback (most recent call last):
  File "wxPyMail.py", line 20, in 
    import smtplib
  File "smtplib.pyo", line 46, in 
ImportError: No module named email.Utils

Похоже, мне нужен модуль электронной почты. Ну, если вы включите модуль электронной почты, то вам нужно удалить его из Исключает список. Однако после того, как все это все равно получим ошибку, не в состоянии импортировать «многократно». Это затронуло меня минуту, чтобы выяснить, но кажется, что модуль электронной почты на самом деле является пакетом. Таким образом, я добавляю электронную почту Пакет к Пакеты listctrl вместо этого. Удалите модуль электронной почты из списка исключений, как и раньше, а также удалите модуль SMTPLIB из Включает в себя listctrl потому что это действительно не проблема для начала. Чтобы удалить элементы из этих элементов управления, вам необходимо щелкнуть правой кнопкой мыши элемент и выберите «Удалить выбранные». Теперь ваш экран должен выглядеть что-то подобное:

Обратите внимание, что это много испытаний и ошибок. В конце концов, вы можете в значительной степени догадаться, какие модули будут включены и что не будет. Похоже, что небольшие модули, такие как WMI.PY или BeautifulSoup, будут схвачены Py2exe, но вещи, такие как пакет LXML, не будут. Этот процесс становится легче с практикой, так что не сдавайся! Кроме того, есть группа Py2exe и Andrea, которые являются хорошими ресурсами, если у вас есть вопросы.

Давайте сделаем установщик!

Теперь, когда у нас есть исполняемый и куча зависимостей, как мы создаем установщик? Там есть различные коммунальные услуги, но я собираюсь использовать Inno Setup. После того, как вы загрузили это и установили его, запустите программу. Выберите опцию, помеченную «Создайте новый файл сценария с помощью мастера сценариев». Нажмите Следующий И вы должны увидеть что-то вроде этого:

Заполните это, однако, что вам нравится и нажмите Далее Отказ Этот экран позволяет вам выбрать, где вы хотите установить приложение по умолчанию. По умолчанию для Файлы программы который в порядке. Нажмите Следующий Отказ Теперь вы должны увидеть следующий экран:

Перейдите к исполняемому, которое вы создали, чтобы добавить его. Затем нажмите на Добавить файл (ы) … кнопка, чтобы добавить остальные. Вы можете на самом деле выбирать все файлы, кроме EXE и нажмите OK. Затем нажмите Следующий Отказ Убедитесь, что Пуск меню Папка имеет правильное имя (в этом случае, wxpymail) и продолжить. Вы можете игнорировать следующие два экрана или эксперимент с ними, если хотите. Я не использую лицензию или вкладываю информацию о данных, чтобы отобразить пользователю, хотя. Последний экран до завершения позволяет выбрать каталог для вывода. Я только что оставил этот пустой, так как он по умолчанию, где находится исполняемый файл, который в порядке с этим примером. Нажмите Следующий и Готово Отказ

Теперь у вас будет полноценный файл * .iss. Прочитайте документацию Inno, чтобы выяснить, что все, что вы можете сделать, так как этот материал выходит за рамки этой статьи. Вместо этого просто нажмите на Построить Меню и выберите Компилировать Отказ Если вы не получили сообщения об ошибках, вы успешно создали установщик! Поздравляю!

Однако одна заметка осторожности в порядке. Кажется, есть некоторые вопросы о том, можете ли вы или нет ?| юридически распространять файл msvcr71.dll. Некоторые говорят, что распределение этой DLL требует лицензии Visual Studio 2003, а другие говорят, что команда Python.org имеет лицензию VS2003 (I. VS7) таким образом, что Python становится «лицензиатом Software», и вы становитесь «дистрибьютором». Вы можете прочитать все детали горы на Этот блог где светильники Python, такие как Phillip EBY (из облегчения Easy_install и его основной сопровождающий) и Фредрик Лунх взвешивать.

Я надеюсь, что это помогло вам по вашему пути стать отличным разработчиком приложений Python. Как всегда, не стесняйтесь бросить мне электронное письмо на Mike (AT) PythonLibrary (Dot) ORG, если у вас есть какие-либо вопросы или предложения для улучшения.