Spaces:
Sleeping
Sleeping
import sys | |
from .compat import chardet | |
# This code exists for backwards compatibility reasons. | |
# I don't like it either. Just look the other way. :) | |
for package in ("urllib3", "idna"): | |
vendored_package = "pip._vendor." + package | |
locals()[package] = __import__(vendored_package) | |
# This traversal is apparently necessary such that the identities are | |
# preserved (requests.packages.urllib3.* is urllib3.*) | |
for mod in list(sys.modules): | |
if mod == vendored_package or mod.startswith(vendored_package + '.'): | |
unprefixed_mod = mod[len("pip._vendor."):] | |
sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] | |
if chardet is not None: | |
target = chardet.__name__ | |
for mod in list(sys.modules): | |
if mod == target or mod.startswith(f"{target}."): | |
imported_mod = sys.modules[mod] | |
sys.modules[f"requests.packages.{mod}"] = imported_mod | |
mod = mod.replace(target, "chardet") | |
sys.modules[f"requests.packages.{mod}"] = imported_mod | |