я ищу способ поставить интерпретатор Python с моим приложением (также записанный в Python), так, чтобы этому не должны были устанавливать Python на машине.
Я искал Google и нашел набор результатов о том, как встроить интерпретатор Python в приложения, записанные на различных языках, но ничем для приложений writtent в самом Python... Я не должен "скрывать" свой код или делать двоичный файл как cx_freeze, делает, я просто не хочу, чтобы мои пользователи должны были установить Python для использования моего приложения, это - все.
Спасибо.
Информацию о распространении на компьютерах Windows см. В py2exe
py2exe is a Python Distutils extension which converts Python scripts
into executable Windows programs, able to run without requiring a
Python installation
MacIntosh, есть py2app (но я с ним не знаком)
А для Windows и Linux есть bbfreeze или также pyinstaller
Для запуска Python вам понадобится какой-то исполняемый файл. С таким же успехом может быть тот, в который было заморожено ваше приложение.
Альтернативой является копирование исполняемого файла, библиотеки и частей стандартной библиотеки stdlib, которые вам нужны, в частный каталог и запуск их для вашего приложения.
Взгляните на http://www.python-packager.com , это бесплатный веб-сервис для создания распространяемых двоичных файлов Python на основе pyinstaller. Я использовал его для создания приложений для Windows, он очень прост в использовании и также работает с приложениями с графическим интерфейсом.
Создание замороженного двоичного файла с помощью таких утилит, как cx_freeze или py2exe, вероятно, самый простой способ сделать это. Таким образом, вам нужно только распространить исполняемый файл. Я знаю, что вы можете предпочесть не распространять двоичный файл, но если это вызывает беспокойство, вы всегда можете предоставить пользователям возможность загрузить исходный код и запустить его из интерпретатора.
Для Windows: py2exe
Для Linux: Freeze
Полное раскрытие: я только читал об этом, никогда использовал их. Может быть, кто-нибудь, у кого есть комментарии, может прокомментировать?