Смотря в моем/usr/local/lib/python.../dist-package каталог, я имею .egg
каталоги и .egg
файлы.
Почему установщик выбирает к дополнительным пакетам к .egg
каталог, все же оставьте другие файлы с .egg
расширения?
Если пакет содержит только чистый код Python, он может оставаться просто файлом-яйцом. Интерпретатор Python может загружать модули Python прямо из яйца. Если пакет содержит модули, написанные на C или другие данные, то egg необходимо извлечь, чтобы можно было получить доступ к модулям C и / или данным. Я считаю, что это поведение пакетов по умолчанию. Более новые версии Python могут иметь возможность загружать модули C из файлов яиц; Я не уверен насчет этой части.
Создатель пакета также может указать программе установки разархивировать пакет, передав zip_safe = False
в setup ()
в их setup.py
].
Наконец, человек, выполняющий установку, может явно указать easy_install распаковать яйца, передав ему параметр -Z или установив zip_ok = false
в pydistutils.cfg.
Я не могу объяснить, почему некоторые яйца заархивированы (файлы), а некоторые являются каталогами, но я могу предложить следующее: если вы ненавидите заархивированные яйца (как и я), поместите это в разделе [easy_install]
вашего ~ / .pydistutils.cfg
:
zip_ok = false