Latest posts on eggs: зло или нет? topichttps://python.su/forum/topic/501/2007-03-09T10:20:38+02:00Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-09T10:20:38+02:00Maximbo3775<strong>bialix:</strong> благодарю, поправил.<br/><br/><strong>j2a:</strong> может как-нибудь вычлените основное из водянистого треда? Отдельной статьёй на блоге эта инфа смотрелась бы гораздо лучше.
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-09T09:01:35+02:00bialix3773Правильная ссылка <a href="http://www.jacobian.org/writing/2007/mar/04/hate-python/">http://www.jacobian.org/writing/2007/mar/04/hate-python/</a>
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-09T08:28:59+02:00j2a3771Ну об этом уже сказал <strong>bialix</strong>:<br/><blockquote>Пока что я не видел реальных замеров скорости работы с яйцами и без. Однако, здравый смысл подсказывает, что раз яйца привносят множество магии в обычный рантайм питона (подстановку путей в sys.path, работу с точками входа а-ля плагины), то это самым прямым образом скажется на времени старта *всех* питон-приложений, даже тех, которые яйца не используют.</blockquote>просто Джейкоб Каплан-Мосс сделал это более явно
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-09T00:38:19+02:00Maximbo3764Ещё один камешек в террариум от <a href="http://www.jacobian.org">Jacob Kaplan-Moss</a>. Подробности можно прочесть в его статье <a href="http://www.jacobian.org/writing/2007/mar/04/hate-python/">“Five things I hate about Python”</a>, в кратце же суть проблемы в следующем: для каждый каталог egg прописывается в sys.path, лавинообразно увеличивая количество вызовов open при импорте модулей. Печально, но факт.
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-01T13:48:32+02:00j2a3560Вы куда-то не туда уехали.<br/><br/>Подведем итоги: egg не смотря на свои преимущества, остается уделом питон-гиков, а никак не простых пользователей. Но, не отрицая недостатокв, можно сказать, что setuptools дает достаточно удобный инструмент (для управления зависимостями, управления ресурсами, для простых плагинов), к тому же и широко используемый. Тем не менее, в любом деле нужно соблюдать меру, и если у разработчика пакета есть возможность <em>не использовать</em> setuptools - то их не нужно использовать. Хотя бы из-за лишней зависимости. У пользователя пакета же нет никаких причин избегать egg.<br/><br/>Если совсем кратко, то:<br/><br/>* если это пользователь конечного приложения - ему нужны “родные” пакеты (exe, msi, deb, rpm)<br/>* если это пользователь какого-либо пакета (т.е. сам программист) - вполне спокойно может использовать egg<br/>* если это разработчик какого-либо пакета - нужно всё взвесить и обдуманно решить: нужны egg или в данном проекте можно обойтись без них.<br/><br/>Небольшой отступление: если пакет написан нормально, то яйцепоклонники могу вполне ставить его как egg, даже если разработчик пакета не использует setuptools.<br/><br/>P.S. Всё и вышесказанное – личное мнение, не претендующее на объективность.
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-01T10:32:33+02:00pythonwin3554<blockquote><em>bialix</em><br/>Я ж не говорю про egg-пакеты, а про ситуацию с установкой питон-приложений вообще и про яйца в частности.<br/>И я говорю преимущественно про windows, что вы все время автоматом подставляете под мои слова свой любимый линукс?</blockquote>пишу на питоне под винду (чаще на винде) и редко есть проблемы с egg - у меня есть проблемы с пакетами если нужно собрать egg, в котором есть Сишный код - требует .NET framework, а так просто прописал что нужно в PATH и всё - если есть ещё какие-то грабли буду только рад если о них узнаю.<br/>на винде перенос питона и установленных пакетов с одной машины на другую вообще сказка -поставил питон+пакеты на одной машине - заархивировал папку питона и на другой машине поставил питон и разархивировал папку питона - сиди работай
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-01T10:13:09+02:00bialix3552<blockquote><em>pythonwin</em><br/>???<br/>зачем пользователю не программисту или сисадмину, который не хочет использовать питон нужны egg-пакеты?<br/>видел админов которые на линуксе ставили пакеты питона из egg и deb без знания по питону<br/>вот GUI-ная часть по установке egg пакетов была бы полезна (что-то типа Synaptic в линуксе)</blockquote>Я ж не говорю про egg-пакеты, а про ситуацию с установкой питон-приложений вообще и про яйца в частности.<br/>И я говорю преимущественно про windows, что вы все время автоматом подставляете под мои слова свой любимый линукс?
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-01T09:05:01+02:00pythonwin3548<blockquote><em>bialix</em><br/>roDiva – отдельный случай, она программирует на питоне.</blockquote>на момент когда proDiva ставила пакеты из egg она писала на питоне ~недели две, и то больше для себя, но это не умаляет proDiv-у<br/><blockquote><em>bialix</em><br/>Я же говорю за вполне реальных людей-юзеров, которые питон не знают и знать не хотят, они хотят воспользоваться какой-нибудь питон-утилитой (например, docutils) и вынуждены разбираться со всем этим безобразием.</blockquote>???<br/>зачем пользователю не программисту или сисадмину, который не хочет использовать питон нужны egg-пакеты?<br/>видел админов которые на линуксе ставили пакеты питона из egg и deb без знания по питону<br/>вот GUI-ная часть по установке egg пакетов была бы полезна (что-то типа Synaptic в линуксе)
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-01T08:49:45+02:00bialix3545<blockquote><em>pythonwin</em><br/><blockquote><em>bialix</em><br/>Зато я знаю сколько проблем возникает на windows машине при установке почти любого питон-пакета (без инсталлятора) если за дело берется человек, ничего не понимающий в питоне.</blockquote>для винды много пакетов в msi и exe :)</blockquote>На самом деле – меньше чем хотелось бы.<br/><br/><blockquote>а вообще если пользователь умеет пользоваться ez_setup.py –help, то даже если Он(а) знаком(а) с питоном неделя-месяц, то поставит очень многое.<br/>реальный случай - proDiva поставила несколько пакетов питона на win2000 при помощи ez_setup после недель двух использования питона</blockquote>proDiva – отдельный случай, она программирует на питоне. Я же говорю за вполне реальных людей-юзеров, которые питон не знают и знать не хотят, они хотят воспользоваться какой-нибудь питон-утилитой (например, docutils) и вынуждены разбираться со всем этим безобразием.
Общий :: Python для экспертов :: eggs: зло или нет?
2007-03-01T06:28:34+02:00pythonwin3542<blockquote><em>bialix</em><br/>Зато я знаю сколько проблем возникает на windows машине при установке почти любого питон-пакета (без инсталлятора) если за дело берется человек, ничего не понимающий в питоне.</blockquote>для винды много пакетов в msi и exe :)<br/>а вообще если пользователь умеет пользоваться ez_setup.py –help, то даже если Он(а) знаком(а) с питоном неделя-месяц, то поставит очень многое.<br/>реальный случай - proDiva поставила несколько пакетов питона на win2000 при помощи ez_setup после недель двух использования питона
Общий :: Python для экспертов :: eggs: зло или нет?
2007-02-28T17:44:10+02:00bialix3536<blockquote><em>Maximbo</em><br/>bialix: если вы сами пользовались Linux, то знаете в какую мусорку превращается система из-за всяких python egg, ruby gems и make install, установленных “не туда”. И как сложно (лениво) обновлять подобный софт на более чем двух машинах.<br/><br/>Так что egg VS пакетный менеджер – не предмет для спора. Другое дело если бы можно было безболезненно конвертировать egg -> RPM (deb).</blockquote>нет, к сожалению или счастью, я не настолько много пользуюсь линуксом, чтобы узнать про такую мусорку.<br/>Зато я знаю сколько проблем возникает на windows машине при установке почти любого питон-пакета (без инсталлятора) если за дело берется человек, ничего не понимающий в питоне.
Общий :: Python для экспертов :: eggs: зло или нет?
2007-02-28T17:03:54+02:00Maximbo3533bialix: если вы сами пользовались Linux, то знаете в какую мусорку превращается система из-за всяких python egg, ruby gems и make install, установленных “не туда”. И как сложно (лениво) обновлять подобный софт на более чем двух машинах.<br/><br/>Так что egg VS пакетный менеджер – не предмет для спора. Другое дело если бы можно было безболезненно конвертировать egg -> RPM (deb).
Общий :: Python для экспертов :: eggs: зло или нет?
2007-02-28T16:09:09+02:00bialix3530<blockquote><em>Maximbo</em><br/><blockquote><em>bialix</em><br/>Отказ от пакетов типа rpm и переход на яйца – это огромный плюс для линуксоидов, поскольку хоть у вас господа хорошие и есть репозитории rpm, но их актуальность и своевременность обновления лежит на кураторах конкретных пакетов в каждом конкретном дистрибутиве.</blockquote>Это не так в силу трёх причин:<br/>1. Мейнтейнеры проверяют сопряжение компонент и вписываемость конкретной программы в дистрибьютив.<br/>2. RPM (deb) контролирует все файлы, в то время как egg управляет только python.<br/>3. Собрать rpm для чего-то на python'е не так сложно как кажется, а выгода огромна. К тому же, ничего не мешает самому стать “куратором” :)</blockquote>Это все понятно. Но самом установиться не всегда хочется, а текущий куратор может пойти в отпуск, пропустить анонс о выходе новой версии либы или просто отвлечься от темы (или забить). Как ни крути, но все равно остается человеческий фактор.
Общий :: Python для экспертов :: eggs: зло или нет?
2007-02-28T15:43:54+02:00Maximbo3528<blockquote><em>bialix</em><br/>Отказ от пакетов типа rpm и переход на яйца – это огромный плюс для линуксоидов, поскольку хоть у вас господа хорошие и есть репозитории rpm, но их актуальность и своевременность обновления лежит на кураторах конкретных пакетов в каждом конкретном дистрибутиве.</blockquote>Это не так в силу трёх причин:<br/>1. Мейнтейнеры проверяют сопряжение компонент и вписываемость конкретной программы в дистрибьютив.<br/>2. RPM (deb) контролирует все файлы, в то время как egg управляет только python.<br/>3. Собрать rpm для чего-то на python'е не так сложно как кажется, а выгода огромна. К тому же, ничего не мешает самому стать “куратором” :)
Общий :: Python для экспертов :: eggs: зло или нет?
2007-02-28T12:12:02+02:00bialix3517<blockquote><em>slivlen</em><br/>P.S. Кураторов пакетов обычно называют майнтейнерами(maintainer) :)</blockquote>Да я знаю. Но в русском переводе книги Эрика Реймонда “Искусство программирования UNIX” maintainers переведены именно как кураторы. И *лично* *мне* это слово больше нравится чем английская калька.