aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/sandbox.py
diff options
context:
space:
mode:
authorErik Bray <embray@stsci.edu>2011-05-20 16:08:26 -0400
committerErik Bray <embray@stsci.edu>2011-05-20 16:08:26 -0400
commit38ac54038c96d339f55a66af6ad8da20320ff411 (patch)
tree5b1a536becb738222e06cdeb437d61801862973b /setuptools/sandbox.py
parentd76ad0a7d55448992833c36ecbc1899ae0e17683 (diff)
downloadexternal_python_setuptools-38ac54038c96d339f55a66af6ad8da20320ff411.tar.gz
external_python_setuptools-38ac54038c96d339f55a66af6ad8da20320ff411.tar.bz2
external_python_setuptools-38ac54038c96d339f55a66af6ad8da20320ff411.zip
Adds some missing bits to the sandbox fix--need to actually save/restore the pkg_resources state.
--HG-- branch : distribute extra : rebase_source : 961ca56f30a6aabb5d24eff3cabb527d1be93ae4
Diffstat (limited to 'setuptools/sandbox.py')
-rwxr-xr-xsetuptools/sandbox.py4
1 files changed, 3 insertions, 1 deletions
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]