dist: ship regular "distutils" even when in PyPI "virtualenv" env

Fixes #747
This commit is contained in:
rdb 2019-12-08 12:40:37 +01:00
parent 6e36abf5ba
commit b43b0c9fad

View File

@ -2372,6 +2372,17 @@ class PandaModuleFinder(modulefinder.ModuleFinder):
path = self.path
if fullname == 'distutils' and hasattr(sys, 'real_prefix'):
# The PyPI version of virtualenv inserts a special version of
# distutils that does some bizarre stuff that won't work in our
# deployed application. Force it to find the regular one.
try:
fp, fn, stuff = self.find_module('opcode')
if fn:
path = [os.path.dirname(fn)] + path
except ImportError:
pass
# Look for the module on the search path.
for dir_path in path:
basename = os.path.join(dir_path, name.split('.')[-1])