Зачем использовать яйцо вместо sdist?

Единственная причина, по которой я могу думать о распространении пакета python в виде яйца, заключается в том, что вы не можете включать файлы .py в свой пакет (и включать только файлы .pyc, что в любом случае является сомнительным способом защиты вашего кода). Кроме того, я не могу придумать никакой причины для загрузки пакета в виде яйца, а не sdist. На самом деле pip даже не поддерживает яйца.

Есть ли реальная причина использовать яйцо, а не sdist?


person Jason Baker    schedule 13.11.2010    source источник


Ответы (1)


Одна из причин: яйца могут включать скомпилированные модули расширения C, чтобы конечному пользователю не нужно было иметь необходимые инструменты сборки и возможные дополнительные заголовки и библиотеки для сборки модуля расширения с нуля. Недостатком этого является то, что упаковщику может потребоваться предоставить несколько яиц для соответствия каждой целевой платформе и конфигурации Python. Если имеется много поддерживаемых конфигураций, это может оказаться непростой задачей, но может оказаться эффективным для более однородных сред.

person Ned Deily    schedule 13.11.2010
comment
Я полагаю, это достойный аргумент. Особенно в Windows, где настройка компилятора может быть немного болезненной. - person Jason Baker; 22.11.2010