[PATCH] [CORRECTED] setup.py: Workaround for missing bz2 module in IronPython
Zachary Gramana
zgramana at pottsconsultinggroup.com
Mon May 9 10:12:32 CDT 2011
# HG changeset patch
# User Zachary Gramana <zgramana at pottsconsultinggroup.com>
# Date 1304953813 14400
# Node ID 47d9c9b614f31463ae5b699376d35196afb41dce
# Parent 332c5ea29ff0bbed408e6b2b035397fabe2dfcd7
setup.py: Workaround for missing bz2 module in IronPython
IronPython does not provide the bz2 module on its own. This patch skips
importing it to allow setup to continue.
diff -r 332c5ea29ff0 -r 47d9c9b614f3 setup.py
--- a/setup.py Mon May 09 11:02:02 2011 -0400
+++ b/setup.py Mon May 09 11:10:13 2011 -0400
@@ -4,7 +4,7 @@
# 'python setup.py install', or
# 'python setup.py --help' for more options
-import sys
+import sys, os
if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0,
'final'):
raise SystemExit("Mercurial requires Python 2.4 or later.")
@@ -36,13 +36,22 @@
raise SystemExit(
"Couldn't import standard zlib (incomplete Python install).")
+# The base IronPython distribution (as of 2.7.1) doesn't support bz2
try:
- import bz2
-except:
- raise SystemExit(
- "Couldn't import standard bz2 (incomplete Python install).")
+ isIronPython = os.path.split(sys.executable)[1] == "ipy.exe"
+except:
+ pass
+else:
+ if isIronPython:
+ print "(IronPython detected. Skipping bz2 import.)"
+ else:
+ try:
+ import bz2
+ except:
+ raise SystemExit(
+ "Couldn't import standard bz2 (incomplete Python
install).")
-import os, subprocess, time
+import subprocess, time
import shutil
import tempfile
from distutils import log
More information about the Mercurial-devel
mailing list