summaryrefslogtreecommitdiff
path: root/numpy/__init__.py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-03-28 17:13:53 -0600
committerCharles Harris <charlesr.harris@gmail.com>2013-04-02 11:23:58 -0600
commit09a52ed47bb26498c97a579ce1147861df696d84 (patch)
tree39bbddec620188f8cf09a5eb51370b0db1236219 /numpy/__init__.py
parenta939f2aa83e7d37d5e35e7c2a8c539c59f682598 (diff)
downloadnumpy-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/__init__.py')
-rw-r--r--numpy/__init__.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/numpy/__init__.py b/numpy/__init__.py
index 9cae9d388..f8c1de5ce 100644
--- a/numpy/__init__.py
+++ b/numpy/__init__.py
@@ -106,6 +106,8 @@ Exceptions to this rule are documented.
"""
from __future__ import division, absolute_import
+import sys
+
# We first need to detect if we're being called as part of the numpy setup
# procedure itself in a reliable manner.
try:
@@ -160,8 +162,11 @@ else:
# Make these accessible from numpy name-space
# but not imported in from numpy import *
- from __builtin__ import bool, int, long, float, complex, \
- object, unicode, str
+ if sys.version_info[0] >= 3:
+ from builtins import bool, int, long, float, complex, object, unicode, str
+ else:
+ from __builtin__ import bool, int, long, float, complex, object, unicode, str
+
from .core import round, abs, max, min
__all__.extend(['__version__', 'pkgload', 'PackageLoader',