[devel] egg-info

Stanislav Levin slev на altlinux.org
Пн Фев 14 12:02:28 MSK 2022



13.02.2022 04:21, Vladimir D. Seleznev пишет:

> 
> В egg-info содержится спецификация модуля, включая его описание,
> зависимости и другие метаданные. Важной эта информация становится тогда,
> когда какой-нибудь модуль или программа на python использует эту
> информацию в рантайме , например, через некоторые явные вызовы importlib
> (что происходит не всегда, чаще всего модули ограничиваются лишь вызовом
> import, с которым не возникает проблем), и кого-то из зависимых пакетов,
> в свою очередь, не предоставляет egg-info. В этом случае Python считает,
> что такого модуля не установлено, и выдаёт ошибку.

Верно.
Чаще всего этой программой будет external Python installation tool
(например, pip или poetry).
https://docs.python.org/3/library/importlib.metadata.html

Примеры формата метаданных:
egg-info (директория или файл) - формат метаданных от setuptools
(используется при `python setup.py install --root`, legacy):
https://setuptools.pypa.io/en/latest/deprecated/python_eggs.html

dist-info (используется при установке из wheel, modern PEP517)

https://www.python.org/dev/peps/pep-0376/
https://www.python.org/dev/peps/pep-0427/#the-dist-info-directory

> 
> Я не разбирался различных системах межмодульных зависимостей самого
> питона и их взаимоотношений между собой, но похоже, что если модуль
> предоставляет egg-файлы, то Python ожидает, что они будут предоставлены
> всеми зависимыми модулями. Я вижу два решения этой проблемы: или
> паковать egg-файлы у всех модулей, или не паковать вообще ни у кого. При
> этом, я не знаю, какие ещё side-эффекты вылезут в последнем случае.
> 

Отсутствие метаинформации отразится на инсталляторах Python - они
перестанут видеть third-party модули из system sitepackages
(устанавливаемых apt) - это приведет к попытке установке таких
distributions откуда-то (например, pypi.org), что не всегда приемлемо.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : OpenPGP_signature
Тип     : application/pgp-signature
Размер  : 840 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20220214/c00f0fb1/attachment.bin>


Подробная информация о списке рассылки Devel