Развертывание исполняемых файлов Python - PyInstaller, cx-freeze и т. Д. - PullRequest
1 голос
/ 06 августа 2010

Я ищу способ объединить приложение на Python в автономные исполняемые файлы, чтобы мои друзья с Windows и Mac могли использовать его без установки уродливых зависимостей. Посмотрев в Интернете, я нашел несколько утилит, которые могут помочь в этом, включая py2exe для Windows и py2app для Mac, а также PyInstaller, cx-freeze и bbfreeze. Что бы вы использовали и что бы вы порекомендовали?

Ответы [ 2 ]

1 голос
/ 06 августа 2010

В последние несколько недель я создавал приложение на Python с PyQt и PyQwt, и у меня возникла та же проблема. Я обнаружил, что py2app совершенно невозможно использовать, я постоянно сталкивался с таким количеством проблем, что отказался. Через несколько дней нашел PyInstaller, который является фантастическим. Он понимает как PyQt, так и PyQwt из коробки - и делает очень хорошую работу, упаковывая все в пакет приложений. Хотя еще не пытался создать исполняемый файл Windows.

Я нашел хорошую статью в arstechnica о том, как использовать py2exe и py2app, хотя она немного устарела (вы, вероятно, можете пропустить материал python 2.5) http://arstechnica.com/open-source/guides/2009/03/how-to-deploying-pyqt-applications-on-windows-and-mac-os-x.ars/

Я очень рекомендую использовать PyInstaller. Есть несколько хитростей, которые необходимо выполнить для OS X, так как в настоящее время поддержка является только предварительной http://diotavelli.net/PyQtWiki/PyInstallerOnMacOSX

0 голосов
/ 06 августа 2010

Я использую py2exe для создания исполняемого файла Windows.Документация несколько запутанная, но как только я собрал работающий setup.py для использования в качестве шаблона, у меня не возникло проблем с его изменением для генерации любого данного exe-файла.Обычно я мог найти полезную информацию через поиск Google, например, когда мне нужно было объединить png для использования пользовательского интерфейса.

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