Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/setuptools/distutils_patch.py
811 views
1
"""
2
Ensure that the local copy of distutils is preferred over stdlib.
3
4
See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
5
for more motivation.
6
"""
7
8
import sys
9
import re
10
import importlib
11
import warnings
12
13
14
def clear_distutils():
15
if 'distutils' not in sys.modules:
16
return
17
warnings.warn("Setuptools is replacing distutils")
18
mods = [name for name in sys.modules if re.match(r'distutils\b', name)]
19
for name in mods:
20
del sys.modules[name]
21
22
23
def ensure_local_distutils():
24
clear_distutils()
25
distutils = importlib.import_module('setuptools._distutils')
26
distutils.__name__ = 'distutils'
27
sys.modules['distutils'] = distutils
28
29
# sanity check that submodules load as expected
30
core = importlib.import_module('distutils.core')
31
assert '_distutils' in core.__file__, core.__file__
32
33
34
ensure_local_distutils()
35
36