[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