[Python] Распространение проектов
От: SergH Россия  
Дата: 09.05.09 17:02
Оценка: 6 (1)
Привет!

А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а.
Делай что должно, и будь что будет
Re: [Python] Распространение проектов
От: VVP Россия 67524421
Дата: 09.05.09 17:18
Оценка:
Здравствуйте, SergH, Вы писали:

SH>А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а.

EGG-файлы
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Re: [Python] Распространение проектов
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 09.05.09 17:43
Оценка: 34 (3)
Здравствуйте, SergH, Вы писали:

SH>Привет!


SH>А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а.


pyinstaller:

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, если интересует только винда.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: [Python] Распространение проектов
От: SergH Россия  
Дата: 09.05.09 17:54
Оценка:
Здравствуйте, VVP, Вы писали:

VVP>EGG-файлы


После поверхностного ознакомления у меня возникло впечатление, что это только для библиотек. Я ошибаюсь?
Делай что должно, и будь что будет
Re[2]: [Python] Распространение проектов
От: SergH Россия  
Дата: 09.05.09 17:54
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>pyinstaller:


Спасибо, посмотрю.

KV>и еще можно посмотреть в сторону py2exe, если интересует только винда.


Вот конкретно сейчас интересует только FreeBSD
Делай что должно, и будь что будет
Re[3]: [Python] Распространение проектов
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 09.05.09 18:18
Оценка:
Здравствуйте, SergH, Вы писали:

SH>Вот конкретно сейчас интересует только FreeBSD


pyinstaller вполне себе работает и под freebsd, AFAIK. По крайней мере, простые проекты под ней он 100% нормально собирает (точнее — собирал, сейчас хз, может разработчики его и поломали уже в этом плане ).

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: [Python] Распространение проектов
От: Mr.Cat  
Дата: 09.05.09 18:37
Оценка:
Здравствуйте, SergH, Вы писали:
SH>А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского jar-а.

А можно поинтересоваться, какую именно проблему ты хочешь таким образом решить?
Re[2]: [Python] Распространение проектов
От: SergH Россия  
Дата: 09.05.09 19:58
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>А можно поинтересоваться, какую именно проблему ты хочешь таким образом решить?


Эстетическую

Есть проект из десятка файлов, часть из них в подкаталоге. Конечному пользователю всё это не интересно, ему нужен один исполняемый файл, который он может запустить. Это попытка воплотить принцип сокрытия избыточной информации на уровне интерфейса пользователь -- компьютер. Это, конечно, несколько не характерный подход для Питона, в котором всё открыто Но тем не менее.
Делай что должно, и будь что будет
Re[3]: [Python] Распространение проектов
От: FR  
Дата: 10.05.09 08:03
Оценка: 22 (2)
Здравствуйте, SergH, Вы писали:

SH>Есть проект из десятка файлов, часть из них в подкаталоге. Конечному пользователю всё это не интересно, ему нужен один исполняемый файл, который он может запустить. Это попытка воплотить принцип сокрытия избыточной информации на уровне интерфейса пользователь -- компьютер. Это, конечно, несколько не характерный подход для Питона, в котором всё открыто Но тем не менее.


Можно в два файла обойтись только встроенными средствами питона, запаковываем твою кучу исходников (или даже pyс файлов) в zip файл (питон умеет импортировать из zip) и пишем пусковой скрипт. Если используются сишные модули то лучше вместо пускового скрипта собраить свой билд питона с нужными включенными (статически слинкованными) библиотеками, тогда бедет исполняымый файл + Zip. Или использовать Freeze http://wiki.python.org/moin/Freeze
Re[2]: [Python] Распространение проектов
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 10.05.09 09:17
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>и еще можно посмотреть в сторону py2exe, если интересует только винда.


GPL licensed

от зараза
Хорошо там, где мы есть! :)
Re[3]: [Python] Распространение проектов
От: FR  
Дата: 10.05.09 09:38
Оценка: +1
Здравствуйте, ShaggyOwl, Вы писали:

KV>>и еще можно посмотреть в сторону py2exe, если интересует только винда.


SO>

GPL licensed

SO>от зараза

По моему тут также как и с компиляторами лицензия не распрастаняется на полученный продукт.
Re[4]: [Python] Распространение проектов
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 10.05.09 10:23
Оценка:
Здравствуйте, 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.

Хорошо там, где мы есть! :)
Re: [Python] Распространение проектов
От: Sheridan Россия  
Дата: 10.05.09 10:41
Оценка:
SergH wrote:

> А какие есть хорошие способы кроме кучи исходников? Хотелось бы засунуть всё в один исполняемый файл... Что-то типа жавского

jar-а.
Пишешь пакеты под дистрибутивы... default way, таксказать... Тут и думать то нечего.
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[2]: [Python] Распространение проектов
От: SergH Россия  
Дата: 10.05.09 10:54
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Пишешь пакеты под дистрибутивы... default way, таксказать... Тут и думать то нечего.


Да, собственно при распространении это решает проблему. Хотя и требует лишних прав на установку. Но вот разворачивается оно в кучу файлов. Так что с тем же успехом можно засунуть всё в один zip, а пользователь разархивирует.
Делай что должно, и будь что будет
Re[3]: [Python] Распространение проектов
От: Sheridan Россия  
Дата: 10.05.09 11:12
Оценка: -1
SergH wrote:


> S>Пишешь пакеты под дистрибутивы... default way, таксказать... Тут и думать то нечего.

> Да, собственно при распространении это решает проблему. Хотя и требует лишних прав на установку. Но вот разворачивается оно в
кучу файлов. Так что с тем же успехом можно засунуть всё в один zip, а пользователь разархивирует.

1. Наклепа юзеру чтототам устанавливать? Это работа админа.
2. Какая разница сколько файлов будет после установки?
3. Всунуть все в зип?.. А зависимости обозначить? А разложить правильно? А предварительное конфигурирование? Пусть все админ
делает?
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[3]: [Python] Распространение проектов
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 10.05.09 13:52
Оценка:

После поверхностного ознакомления у меня возникло впечатление, что это только для библиотек. Я ошибаюсь?


Для прикладных программ тоже. Но это как-бы не совсем "казуальный" формат, много нюансов, поэтому используется в основном для библиотек .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.