summaryrefslogtreecommitdiff
path: root/pyximport/pyximport.py
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2015-07-25 20:26:34 +0200
committerStefan Behnel <stefan_ml@behnel.de>2015-07-25 20:26:34 +0200
commit9c7d4b130a7f5cf1247fe3651a374f82b7b9d368 (patch)
tree2d032bc97187f8cfa5c8473e512c944a5f9a07f7 /pyximport/pyximport.py
parentfd4ba3c5e20cc767df4421575719cf58ca6e5d2e (diff)
downloadcython-9c7d4b130a7f5cf1247fe3651a374f82b7b9d368.tar.gz
adapt Py2-only 'raise' statements to Py2/Py3
Diffstat (limited to 'pyximport/pyximport.py')
-rw-r--r--pyximport/pyximport.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pyximport/pyximport.py b/pyximport/pyximport.py
index 3769050b8..c1ad92772 100644
--- a/pyximport/pyximport.py
+++ b/pyximport/pyximport.py
@@ -217,10 +217,14 @@ def load_module(name, pyxfilename, pyxbuild_dir=None, is_package=False,
mod = imp.load_source(name, pyxfilename)
assert mod.__file__ in (pyxfilename, pyxfilename+'c', pyxfilename+'o'), (mod.__file__, pyxfilename)
else:
+ tb = sys.exc_info()[2]
import traceback
- raise ImportError("Building module %s failed: %s" %
- (name,
- traceback.format_exception_only(*sys.exc_info()[:2]))), None, sys.exc_info()[2]
+ exc = ImportError("Building module %s failed: %s" % (
+ name, traceback.format_exception_only(*sys.exc_info()[:2])))
+ if sys.version_info[0] >= 3:
+ raise exc.with_traceback(tb)
+ else:
+ exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
return mod