Добавить entry_points в setuptools в устанавливаемом пакете
У меня есть пакет Python fsspec . Эта библиотека предоставляет способ регистрации внешней файловой системы ( внутренняя интеграция ). Один из способов зарегистрировать требуемую файловую систему - добавить ее в entry_points в setuptools.
Чтобы выполнить задачу, мы можем вручную добавить entry_points в setup.py, а затем установить пакет. Но то, что я ищу, - это способ программно сделать вход до / после установки пакета fsspec.
1 ответ
Я не верю, что есть простой способ обновить метаданные, которые обычно записываются в вашу систему во время установки пакета. Копаясь в коде
setuptools
или могу сказать вам, как. Возможно, что
Distribution
объект, предоставляемый метаданными, можно редактировать в памяти. Суть подхода в том, что fsspec не нужно ничего импортировать (кроме
importlib.metadata
сам), чтобы узнать, какие дополнительные реализации доступны.
Однако вы можете уйти достаточно далеко, используя fsspec.register_implementation
, что выполняется динамически во время выполнения. Единственным недостатком является то, что ваш пакет необходимо будет импортировать и вызвать функцию, прежде чем вы попытаетесь получить доступ к протоколу, который он предоставляет.