diff options
author | Stefan Behnel <stefan_ml@behnel.de> | 2015-07-25 20:26:34 +0200 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2015-07-25 20:26:34 +0200 |
commit | 9c7d4b130a7f5cf1247fe3651a374f82b7b9d368 (patch) | |
tree | 2d032bc97187f8cfa5c8473e512c944a5f9a07f7 /pyximport/pyximport.py | |
parent | fd4ba3c5e20cc767df4421575719cf58ca6e5d2e (diff) | |
download | cython-9c7d4b130a7f5cf1247fe3651a374f82b7b9d368.tar.gz |
adapt Py2-only 'raise' statements to Py2/Py3
Diffstat (limited to 'pyximport/pyximport.py')
-rw-r--r-- | pyximport/pyximport.py | 10 |
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 |