Update 2025-04-13_16:26:04
This commit is contained in:
47
venv/lib/python3.11/site-packages/setuptools/_importlib.py
Normal file
47
venv/lib/python3.11/site-packages/setuptools/_importlib.py
Normal file
@ -0,0 +1,47 @@
|
||||
import sys
|
||||
|
||||
|
||||
def disable_importlib_metadata_finder(metadata):
|
||||
"""
|
||||
Ensure importlib_metadata doesn't provide older, incompatible
|
||||
Distributions.
|
||||
|
||||
Workaround for #3102.
|
||||
"""
|
||||
try:
|
||||
import importlib_metadata
|
||||
except ImportError:
|
||||
return
|
||||
except AttributeError:
|
||||
import warnings
|
||||
|
||||
msg = (
|
||||
"`importlib-metadata` version is incompatible with `setuptools`.\n"
|
||||
"This problem is likely to be solved by installing an updated version of "
|
||||
"`importlib-metadata`."
|
||||
)
|
||||
warnings.warn(msg) # Ensure a descriptive message is shown.
|
||||
raise # This exception can be suppressed by _distutils_hack
|
||||
|
||||
if importlib_metadata is metadata:
|
||||
return
|
||||
to_remove = [
|
||||
ob
|
||||
for ob in sys.meta_path
|
||||
if isinstance(ob, importlib_metadata.MetadataPathFinder)
|
||||
]
|
||||
for item in to_remove:
|
||||
sys.meta_path.remove(item)
|
||||
|
||||
|
||||
if sys.version_info < (3, 10):
|
||||
from setuptools.extern import importlib_metadata as metadata
|
||||
disable_importlib_metadata_finder(metadata)
|
||||
else:
|
||||
import importlib.metadata as metadata # noqa: F401
|
||||
|
||||
|
||||
if sys.version_info < (3, 9):
|
||||
from setuptools.extern import importlib_resources as resources
|
||||
else:
|
||||
import importlib.resources as resources # noqa: F401
|
Reference in New Issue
Block a user