aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/sandbox.py
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com>2015-03-30 04:26:56 +0200
committerArfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com>2015-03-30 04:26:56 +0200
commit8fe7605a2787648a23c28741e20ba403e95a357b (patch)
tree720e14bd34f087ad89d03f81381b857d07492fae /setuptools/sandbox.py
parent933e26cd75231ba6402c38e4044e001a5d47fa3f (diff)
downloadexternal_python_setuptools-8fe7605a2787648a23c28741e20ba403e95a357b.tar.gz
external_python_setuptools-8fe7605a2787648a23c28741e20ba403e95a357b.tar.bz2
external_python_setuptools-8fe7605a2787648a23c28741e20ba403e95a357b.zip
Fix setuptools.sandbox._execfile() with Python 3.1.
It fixes failure of setuptools.tests.test_sandbox.TestSandbox.test_setup_py_with_CRLF() with Python 3.1.
Diffstat (limited to 'setuptools/sandbox.py')
-rwxr-xr-xsetuptools/sandbox.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/setuptools/sandbox.py b/setuptools/sandbox.py
index 67255123..31e3eb2d 100755
--- a/setuptools/sandbox.py
+++ b/setuptools/sandbox.py
@@ -34,12 +34,12 @@ def _execfile(filename, globals, locals=None):
Python 3 implementation of execfile.
"""
mode = 'rb'
- # Python 2.6 compile requires LF for newlines, so use deprecated
- # Universal newlines support.
- if sys.version_info < (2, 7):
- mode += 'U'
with open(filename, mode) as stream:
script = stream.read()
+ # compile() function in Python 2.6 and 3.1 requires LF line endings.
+ if sys.version_info[:2] < (2, 7) or sys.version_info[:2] >= (3, 0) and sys.version_info[:2] < (3, 2):
+ script = script.replace(b'\r\n', b'\n')
+ script = script.replace(b'\r', b'\n')
if locals is None:
locals = globals
code = compile(script, filename, 'exec')