Почему easy_install извлекает некоторые яйца Python и не других?

Смотря в моем/usr/local/lib/python.../dist-package каталог, я имею .egg каталоги и .egg файлы.

Почему установщик выбирает к дополнительным пакетам к .egg каталог, все же оставьте другие файлы с .egg расширения?

18
задан Wooble 30 September 2011 в 16:44
поделиться

2 ответа

Если пакет содержит только чистый код Python, он может оставаться просто файлом-яйцом. Интерпретатор Python может загружать модули Python прямо из яйца. Если пакет содержит модули, написанные на C или другие данные, то egg необходимо извлечь, чтобы можно было получить доступ к модулям C и / или данным. Я считаю, что это поведение пакетов по умолчанию. Более новые версии Python могут иметь возможность загружать модули C из файлов яиц; Я не уверен насчет этой части.

Создатель пакета также может указать программе установки разархивировать пакет, передав zip_safe = False в setup () в их setup.py ].

Наконец, человек, выполняющий установку, может явно указать easy_install распаковать яйца, передав ему параметр -Z или установив zip_ok = false в pydistutils.cfg.

29
ответ дан 30 November 2019 в 07:44
поделиться

Я не могу объяснить, почему некоторые яйца заархивированы (файлы), а некоторые являются каталогами, но я могу предложить следующее: если вы ненавидите заархивированные яйца (как и я), поместите это в разделе [easy_install] вашего ~ / .pydistutils.cfg :

zip_ok = false
4
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: