diff options
-rw-r--r-- | pkg_resources.py | 1 | ||||
-rwxr-xr-x | setuptools/sandbox.py | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/pkg_resources.py b/pkg_resources.py index d704aad5..636d6ff9 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -710,6 +710,7 @@ class WorkingSet(object): def __setstate__(self, (entries, keys, by_key, callbacks)): self.entries = entries[:] + self.entry_keys = keys.copy() self.by_key = by_key.copy() self.callbacks = callbacks[:] diff --git a/setuptools/sandbox.py b/setuptools/sandbox.py index a06d4483..8e0c09b5 100755 --- a/setuptools/sandbox.py +++ b/setuptools/sandbox.py @@ -1,4 +1,4 @@ -import os, sys, __builtin__, tempfile, operator +import os, sys, __builtin__, tempfile, operator, pkg_resources _os = sys.modules[os.name] try: _file = file @@ -19,6 +19,7 @@ def run_setup(setup_script, args): if not os.path.isdir(temp_dir): os.makedirs(temp_dir) save_tmp = tempfile.tempdir save_modules = sys.modules.copy() + pr_state = pkg_resources.__getstate__() try: tempfile.tempdir = temp_dir os.chdir(setup_dir) @@ -36,6 +37,7 @@ def run_setup(setup_script, args): raise # Normal exit, just return finally: + pkg_resources.__setstate__(pr_state) sys.modules.update(save_modules) for key in list(sys.modules): if key not in save_modules: del sys.modules[key] |