diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2013-03-28 17:13:53 -0600 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2013-04-02 11:23:58 -0600 |
commit | 09a52ed47bb26498c97a579ce1147861df696d84 (patch) | |
tree | 39bbddec620188f8cf09a5eb51370b0db1236219 /numpy/distutils | |
parent | a939f2aa83e7d37d5e35e7c2a8c539c59f682598 (diff) | |
download | numpy-09a52ed47bb26498c97a579ce1147861df696d84.tar.gz |
2to3: Apply `imports` fixer.
The `imports` fixer deals with the standard packages that have been
renamed, removed, or methods that have moved.
cPickle -- removed, use pickle
commands -- removed, getoutput, getstatusoutput moved to subprocess
urlparse -- removed, urlparse moved to urllib.parse
cStringIO -- removed, use StringIO or io.StringIO
copy_reg -- renamed copyreg
_winreg -- renamed winreg
ConfigParser -- renamed configparser
__builtin__ -- renamed builtins
In the case of `cPickle`, it is imported as `pickle` when python < 3 and
performance may be a consideration, but otherwise plain old `pickle` is
used.
Dealing with `StringIO` is a bit tricky. There is an `io.StringIO`
function in the `io` module, available since Python 2.6, but it expects
unicode whereas `StringIO.StringIO` expects ascii. The Python 3
equivalent is then `io.BytesIO`. What I have done here is used BytesIO
for anything that is emulating a file for testing purposes. That is more
explicit than using a redefined StringIO as was done before we dropped
support for Python 2.4 and 2.5.
Closes #3180.
Diffstat (limited to 'numpy/distutils')
-rw-r--r-- | numpy/distutils/cpuinfo.py | 26 | ||||
-rw-r--r-- | numpy/distutils/mingw32ccompiler.py | 1 | ||||
-rw-r--r-- | numpy/distutils/misc_util.py | 8 | ||||
-rw-r--r-- | numpy/distutils/npy_pkg_config.py | 7 | ||||
-rw-r--r-- | numpy/distutils/system_info.py | 1 | ||||
-rw-r--r-- | numpy/distutils/tests/test_exec_command.py | 15 |
6 files changed, 37 insertions, 21 deletions
diff --git a/numpy/distutils/cpuinfo.py b/numpy/distutils/cpuinfo.py index 1e2d9379c..aaf642691 100644 --- a/numpy/distutils/cpuinfo.py +++ b/numpy/distutils/cpuinfo.py @@ -18,10 +18,12 @@ __all__ = ['cpu'] import sys, re, types import os -if sys.version_info[0] < 3: - from commands import getstatusoutput -else: + +if sys.version_info[0] >= 3: from subprocess import getstatusoutput +else: + from commands import getstatusoutput + import warnings import platform @@ -488,25 +490,29 @@ class Win32CPUInfo(CPUInfoBase): info = [] try: #XXX: Bad style to use so long `try:...except:...`. Fix it! - import _winreg + if sys.version_info[0] >= 3: + import winreg + else: + import _winreg as winreg + prgx = re.compile(r"family\s+(?P<FML>\d+)\s+model\s+(?P<MDL>\d+)"\ "\s+stepping\s+(?P<STP>\d+)",re.IGNORECASE) - chnd=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, self.pkey) + chnd=winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, self.pkey) pnum=0 while 1: try: - proc=_winreg.EnumKey(chnd,pnum) - except _winreg.error: + proc=winreg.EnumKey(chnd,pnum) + except winreg.error: break else: pnum+=1 info.append({"Processor":proc}) - phnd=_winreg.OpenKey(chnd,proc) + phnd=winreg.OpenKey(chnd,proc) pidx=0 while True: try: - name,value,vtpe=_winreg.EnumValue(phnd,pidx) - except _winreg.error: + name,value,vtpe=winreg.EnumValue(phnd,pidx) + except winreg.error: break else: pidx=pidx+1 diff --git a/numpy/distutils/mingw32ccompiler.py b/numpy/distutils/mingw32ccompiler.py index 0505309fa..ed0dc0d4e 100644 --- a/numpy/distutils/mingw32ccompiler.py +++ b/numpy/distutils/mingw32ccompiler.py @@ -10,7 +10,6 @@ Support code for building Python extensions on Windows. from __future__ import division, absolute_import import os -import subprocess import sys import subprocess import re diff --git a/numpy/distutils/misc_util.py b/numpy/distutils/misc_util.py index f526557d6..0c88e0ae4 100644 --- a/numpy/distutils/misc_util.py +++ b/numpy/distutils/misc_util.py @@ -2125,9 +2125,13 @@ def get_info(pkgname, dirs=None): return info def is_bootstrapping(): - import __builtin__ + if sys.version_info[0] >= 3: + import builtins + else: + import __builtin__ as builtins + try: - __builtin__.__NUMPY_SETUP__ + builtins.__NUMPY_SETUP__ return True except AttributeError: return False diff --git a/numpy/distutils/npy_pkg_config.py b/numpy/distutils/npy_pkg_config.py index 2dacbbc70..a0d75670b 100644 --- a/numpy/distutils/npy_pkg_config.py +++ b/numpy/distutils/npy_pkg_config.py @@ -1,13 +1,14 @@ from __future__ import division, absolute_import import sys +import re +import os +import shlex + if sys.version_info[0] < 3: from ConfigParser import SafeConfigParser, NoOptionError else: from configparser import ConfigParser, SafeConfigParser, NoOptionError -import re -import os -import shlex __all__ = ['FormatError', 'PkgNotFound', 'LibraryInfo', 'VariableSet', 'read_config', 'parse_flags'] diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py index 68ad926e3..ff32daf69 100644 --- a/numpy/distutils/system_info.py +++ b/numpy/distutils/system_info.py @@ -118,6 +118,7 @@ import re import copy import warnings from glob import glob + if sys.version_info[0] < 3: from ConfigParser import NoOptionError, ConfigParser else: diff --git a/numpy/distutils/tests/test_exec_command.py b/numpy/distutils/tests/test_exec_command.py index 11f262369..3e85fcd3e 100644 --- a/numpy/distutils/tests/test_exec_command.py +++ b/numpy/distutils/tests/test_exec_command.py @@ -2,11 +2,16 @@ from __future__ import division, absolute_import import os import sys -import StringIO from tempfile import TemporaryFile from numpy.distutils import exec_command +# In python 3 stdout, stderr are text (unicode compliant) devices, so to +# emulate them import StringIO from the io module. +if sys.version_info[0] >= 3: + from io import StringIO +else: + from StringIO import StringIO class redirect_stdout(object): """Context manager to redirect stdout for exec_command test.""" @@ -62,26 +67,26 @@ def test_exec_command_stdout(): # both that the special case works and that the generic code works. # Test posix version: - with redirect_stdout(StringIO.StringIO()): + with redirect_stdout(StringIO()): with redirect_stderr(TemporaryFile()): exec_command.exec_command("cd '.'") if os.name == 'posix': # Test general (non-posix) version: with emulate_nonposix(): - with redirect_stdout(StringIO.StringIO()): + with redirect_stdout(StringIO()): with redirect_stderr(TemporaryFile()): exec_command.exec_command("cd '.'") def test_exec_command_stderr(): # Test posix version: with redirect_stdout(TemporaryFile(mode='w+')): - with redirect_stderr(StringIO.StringIO()): + with redirect_stderr(StringIO()): exec_command.exec_command("cd '.'") if os.name == 'posix': # Test general (non-posix) version: with emulate_nonposix(): with redirect_stdout(TemporaryFile()): - with redirect_stderr(StringIO.StringIO()): + with redirect_stderr(StringIO()): exec_command.exec_command("cd '.'") |