summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/setup.py b/setup.py
index fb896972a..58c9c8782 100644
--- a/setup.py
+++ b/setup.py
@@ -51,14 +51,11 @@ ext_modules = [
sources=['lib/sqlalchemy/cextension/resultproxy.c'])
]
+ext_errors = (CCompilerError, DistutilsExecError, DistutilsPlatformError)
if sys.platform == 'win32' and sys.version_info > (2, 6):
# 2.6's distutils.msvc9compiler can raise an IOError when failing to
# find the compiler
- ext_errors = (
- CCompilerError, DistutilsExecError,
- DistutilsPlatformError, IOError)
-else:
- ext_errors = (CCompilerError, DistutilsExecError, DistutilsPlatformError)
+ ext_errors += (IOError,)
class BuildFailed(Exception):
@@ -79,6 +76,11 @@ class ve_build_ext(build_ext):
build_ext.build_extension(self, ext)
except ext_errors:
raise BuildFailed()
+ except ValueError:
+ # this can happen on Windows 64 bit, see Python issue 7511
+ if "'path'" in str(sys.exc_info()[1]): # works with both py 2/3
+ raise BuildFailed()
+ raise
cmdclass['build_ext'] = ve_build_ext