aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkg_resources.py1
-rwxr-xr-xsetuptools/sandbox.py4
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]