Найти - Пользователи
Полная версия: eggs: зло или нет?
Начало » Python для экспертов » eggs: зло или нет?
1 2 3
Maximbo
bialix: если вы сами пользовались Linux, то знаете в какую мусорку превращается система из-за всяких python egg, ruby gems и make install, установленных “не туда”. И как сложно (лениво) обновлять подобный софт на более чем двух машинах.

Так что egg VS пакетный менеджер – не предмет для спора. Другое дело если бы можно было безболезненно конвертировать egg -> RPM (deb).
bialix
Maximbo
bialix: если вы сами пользовались Linux, то знаете в какую мусорку превращается система из-за всяких python egg, ruby gems и make install, установленных “не туда”. И как сложно (лениво) обновлять подобный софт на более чем двух машинах.

Так что egg VS пакетный менеджер – не предмет для спора. Другое дело если бы можно было безболезненно конвертировать egg -> RPM (deb).
нет, к сожалению или счастью, я не настолько много пользуюсь линуксом, чтобы узнать про такую мусорку.
Зато я знаю сколько проблем возникает на windows машине при установке почти любого питон-пакета (без инсталлятора) если за дело берется человек, ничего не понимающий в питоне.
pythonwin
bialix
Зато я знаю сколько проблем возникает на windows машине при установке почти любого питон-пакета (без инсталлятора) если за дело берется человек, ничего не понимающий в питоне.
для винды много пакетов в msi и exe :)
а вообще если пользователь умеет пользоваться ez_setup.py –help, то даже если Он(а) знаком(а) с питоном неделя-месяц, то поставит очень многое.
реальный случай - proDiva поставила несколько пакетов питона на win2000 при помощи ez_setup после недель двух использования питона
bialix
pythonwin
bialix
Зато я знаю сколько проблем возникает на windows машине при установке почти любого питон-пакета (без инсталлятора) если за дело берется человек, ничего не понимающий в питоне.
для винды много пакетов в msi и exe :)
На самом деле – меньше чем хотелось бы.

а вообще если пользователь умеет пользоваться ez_setup.py –help, то даже если Он(а) знаком(а) с питоном неделя-месяц, то поставит очень многое.
реальный случай - proDiva поставила несколько пакетов питона на win2000 при помощи ez_setup после недель двух использования питона
proDiva – отдельный случай, она программирует на питоне. Я же говорю за вполне реальных людей-юзеров, которые питон не знают и знать не хотят, они хотят воспользоваться какой-нибудь питон-утилитой (например, docutils) и вынуждены разбираться со всем этим безобразием.
pythonwin
bialix
roDiva – отдельный случай, она программирует на питоне.
на момент когда proDiva ставила пакеты из egg она писала на питоне ~недели две, и то больше для себя, но это не умаляет proDiv-у
bialix
Я же говорю за вполне реальных людей-юзеров, которые питон не знают и знать не хотят, они хотят воспользоваться какой-нибудь питон-утилитой (например, docutils) и вынуждены разбираться со всем этим безобразием.
???
зачем пользователю не программисту или сисадмину, который не хочет использовать питон нужны egg-пакеты?
видел админов которые на линуксе ставили пакеты питона из egg и deb без знания по питону
вот GUI-ная часть по установке egg пакетов была бы полезна (что-то типа Synaptic в линуксе)
bialix
pythonwin
???
зачем пользователю не программисту или сисадмину, который не хочет использовать питон нужны egg-пакеты?
видел админов которые на линуксе ставили пакеты питона из egg и deb без знания по питону
вот GUI-ная часть по установке egg пакетов была бы полезна (что-то типа Synaptic в линуксе)
Я ж не говорю про egg-пакеты, а про ситуацию с установкой питон-приложений вообще и про яйца в частности.
И я говорю преимущественно про windows, что вы все время автоматом подставляете под мои слова свой любимый линукс?
pythonwin
bialix
Я ж не говорю про egg-пакеты, а про ситуацию с установкой питон-приложений вообще и про яйца в частности.
И я говорю преимущественно про windows, что вы все время автоматом подставляете под мои слова свой любимый линукс?
пишу на питоне под винду (чаще на винде) и редко есть проблемы с egg - у меня есть проблемы с пакетами если нужно собрать egg, в котором есть Сишный код - требует .NET framework, а так просто прописал что нужно в PATH и всё - если есть ещё какие-то грабли буду только рад если о них узнаю.
на винде перенос питона и установленных пакетов с одной машины на другую вообще сказка -поставил питон+пакеты на одной машине - заархивировал папку питона и на другой машине поставил питон и разархивировал папку питона - сиди работай
j2a
Вы куда-то не туда уехали.

Подведем итоги: egg не смотря на свои преимущества, остается уделом питон-гиков, а никак не простых пользователей. Но, не отрицая недостатокв, можно сказать, что setuptools дает достаточно удобный инструмент (для управления зависимостями, управления ресурсами, для простых плагинов), к тому же и широко используемый. Тем не менее, в любом деле нужно соблюдать меру, и если у разработчика пакета есть возможность не использовать setuptools - то их не нужно использовать. Хотя бы из-за лишней зависимости. У пользователя пакета же нет никаких причин избегать egg.

Если совсем кратко, то:

* если это пользователь конечного приложения - ему нужны “родные” пакеты (exe, msi, deb, rpm)
* если это пользователь какого-либо пакета (т.е. сам программист) - вполне спокойно может использовать egg
* если это разработчик какого-либо пакета - нужно всё взвесить и обдуманно решить: нужны egg или в данном проекте можно обойтись без них.

Небольшой отступление: если пакет написан нормально, то яйцепоклонники могу вполне ставить его как egg, даже если разработчик пакета не использует setuptools.

P.S. Всё и вышесказанное – личное мнение, не претендующее на объективность.
Maximbo
Ещё один камешек в террариум от Jacob Kaplan-Moss. Подробности можно прочесть в его статье “Five things I hate about Python”, в кратце же суть проблемы в следующем: для каждый каталог egg прописывается в sys.path, лавинообразно увеличивая количество вызовов open при импорте модулей. Печально, но факт.
j2a
Ну об этом уже сказал bialix:
Пока что я не видел реальных замеров скорости работы с яйцами и без. Однако, здравый смысл подсказывает, что раз яйца привносят множество магии в обычный рантайм питона (подстановку путей в sys.path, работу с точками входа а-ля плагины), то это самым прямым образом скажется на времени старта *всех* питон-приложений, даже тех, которые яйца не используют.
просто Джейкоб Каплан-Мосс сделал это более явно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB