Здравствуйте, SergH, Вы писали:
SH>А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а. EGG-файлы
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Здравствуйте, SergH, Вы писали:
SH>Привет!
SH>А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а.
Features
* Packaging of Python programs into standard executables, that work on computers without Python installed.
* Multiplatform: works under Windows, Linux and Irix. (Mac port in development. Try it on SVN trunk)
* Multiversion: works under any version of Python since 1.5.
* Flexible packaging mode:
o Single directory: build a directory containing an executable plus all the external binary modules (.dll, .pyd, .so) used by the program.
o Single file: build a single executable file, totally self-contained, which runs without any external dependency.
o Custom: you can automate PyInstaller to do whatever packaging mode you want through a simple script file in Python.
* Explicit intelligent support for many 3rd-packages (for hidden imports, external data files, etc.), to make them work with PyInstaller out-of-the-box.
* Full single-file EGG support: .egg files are automatically packaged by PyInstaller as-is, so that all features are supported at runtime as well (entry points, etc.).
* Support for automatic binary packing through the well-known UPX compressor.
* Support for code-signing executables on Windows.
* Optional console mode (see standard output and standard error at runtime).
* Selectable executable icon (Windows only).
* Fully configurable version resource section in executable (Windows only).
* Support for building COM servers (Windows only).
и еще можно посмотреть в сторону py2exe, если интересует только винда.
Здравствуйте, SergH, Вы писали:
SH>Вот конкретно сейчас интересует только FreeBSD
pyinstaller вполне себе работает и под freebsd, AFAIK. По крайней мере, простые проекты под ней он 100% нормально собирает (точнее — собирал, сейчас хз, может разработчики его и поломали уже в этом плане ).
Здравствуйте, SergH, Вы писали: SH>А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а.
А можно поинтересоваться, какую именно проблему ты хочешь таким образом решить?
Здравствуйте, Mr.Cat, Вы писали:
MC>А можно поинтересоваться, какую именно проблему ты хочешь таким образом решить?
Эстетическую
Есть проект из десятка файлов, часть из них в подкаталоге. Конечному пользователю всё это не интересно, ему нужен один исполняемый файл, который он может запустить. Это попытка воплотить принцип сокрытия избыточной информации на уровне интерфейса пользователь -- компьютер. Это, конечно, несколько не характерный подход для Питона, в котором всё открыто Но тем не менее.
Здравствуйте, SergH, Вы писали:
SH>Есть проект из десятка файлов, часть из них в подкаталоге. Конечному пользователю всё это не интересно, ему нужен один исполняемый файл, который он может запустить. Это попытка воплотить принцип сокрытия избыточной информации на уровне интерфейса пользователь -- компьютер. Это, конечно, несколько не характерный подход для Питона, в котором всё открыто Но тем не менее.
Можно в два файла обойтись только встроенными средствами питона, запаковываем твою кучу исходников (или даже pyс файлов) в zip файл (питон умеет импортировать из zip) и пишем пусковой скрипт. Если используются сишные модули то лучше вместо пускового скрипта собраить свой билд питона с нужными включенными (статически слинкованными) библиотеками, тогда бедет исполняымый файл + Zip. Или использовать Freeze http://wiki.python.org/moin/Freeze
Здравствуйте, FR, Вы писали:
KV>>>и еще можно посмотреть в сторону py2exe, если интересует только винда.
SO>>
GPL licensed
SO>>от зараза
FR>По моему тут также как и с компиляторами лицензия не распрастаняется на полученный продукт.
Это точно?
Почему возникли сомнения: авторы PyInstaller этот случай обговаривают отдельно
PyInstaller is distributed under the GPL license (see the file doc/LICENSE.GPL in the source code), with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones). In other words, you have no restrictions in using PyInstaller as-is, but any kind of modifications to it will have to comply with the GPL license.
SergH wrote:
> А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского
jar-а.
Пишешь пакеты под дистрибутивы... default way, таксказать... Тут и думать то нечего.
Здравствуйте, Sheridan, Вы писали:
S>Пишешь пакеты под дистрибутивы... default way, таксказать... Тут и думать то нечего.
Да, собственно при распространении это решает проблему. Хотя и требует лишних прав на установку. Но вот разворачивается оно в кучу файлов. Так что с тем же успехом можно засунуть всё в один zip, а пользователь разархивирует.
> S>Пишешь пакеты под дистрибутивы... default way, таксказать... Тут и думать то нечего. > Да, собственно при распространении это решает проблему. Хотя и требует лишних прав на установку. Но вот разворачивается оно в
кучу файлов. Так что с тем же успехом можно засунуть всё в один zip, а пользователь разархивирует.
1. Наклепа юзеру чтототам устанавливать? Это работа админа.
2. Какая разница сколько файлов будет после установки?
3. Всунуть все в зип?.. А зависимости обозначить? А разложить правильно? А предварительное конфигурирование? Пусть все админ
делает?