summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2019-02-21 12:49:33 -0700
committerCharles Harris <charlesr.harris@gmail.com>2019-02-21 12:49:33 -0700
commitb6dc039961768bd5f3a3d7f57e8c396f8fa02815 (patch)
tree2cf18d5b551afd86970ff2d9c55675e071b7786d
parent3898fe3fc26245e909c1d2d695b4455f07d4b06c (diff)
downloadnumpy-b6dc039961768bd5f3a3d7f57e8c396f8fa02815.tar.gz
MAINT: Move pickle import to numpy.compat
The pickle module was being imported from numpy.core.numeric. It was defined there in order to use pickle5 when available in Python3 and cpickle in Python2. The numpy.compat module seems a better place for that.
-rw-r--r--numpy/compat/py3k.py11
-rw-r--r--numpy/core/numeric.py10
-rw-r--r--numpy/core/tests/test_datetime.py2
-rw-r--r--numpy/core/tests/test_dtype.py2
-rw-r--r--numpy/core/tests/test_multiarray.py2
-rw-r--r--numpy/core/tests/test_overrides.py2
-rw-r--r--numpy/core/tests/test_records.py2
-rw-r--r--numpy/core/tests/test_regression.py3
-rw-r--r--numpy/core/tests/test_ufunc.py2
-rw-r--r--numpy/lib/format.py3
-rw-r--r--numpy/lib/npyio.py3
-rw-r--r--numpy/ma/core.py2
-rw-r--r--numpy/ma/tests/test_core.py2
-rw-r--r--numpy/ma/tests/test_mrecords.py2
-rw-r--r--numpy/ma/tests/test_old_ma.py2
-rw-r--r--numpy/matrixlib/tests/test_masked_matrix.py2
-rw-r--r--numpy/tests/test_reloading.py2
17 files changed, 24 insertions, 30 deletions
diff --git a/numpy/compat/py3k.py b/numpy/compat/py3k.py
index 8e06ead78..141a21fed 100644
--- a/numpy/compat/py3k.py
+++ b/numpy/compat/py3k.py
@@ -8,7 +8,7 @@ __all__ = ['bytes', 'asbytes', 'isfileobj', 'getexception', 'strchar',
'unicode', 'asunicode', 'asbytes_nested', 'asunicode_nested',
'asstr', 'open_latin1', 'long', 'basestring', 'sixu',
'integer_types', 'is_pathlib_path', 'npy_load_module', 'Path',
- 'contextlib_nullcontext', 'os_fspath', 'os_PathLike']
+ 'pickle', 'contextlib_nullcontext', 'os_fspath', 'os_PathLike']
import sys
try:
@@ -19,6 +19,11 @@ except ImportError:
if sys.version_info[0] >= 3:
import io
+ try:
+ import pickle5 as pickle
+ except ImportError:
+ import pickle
+
long = int
integer_types = (int,)
basestring = str
@@ -51,8 +56,9 @@ if sys.version_info[0] >= 3:
strchar = 'U'
-
else:
+ import cpickle as pickle
+
bytes = str
long = long
basestring = basestring
@@ -76,7 +82,6 @@ else:
def sixu(s):
return unicode(s, 'unicode_escape')
-
def getexception():
return sys.exc_info()[1]
diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py
index c06b0cf98..386049410 100644
--- a/numpy/core/numeric.py
+++ b/numpy/core/numeric.py
@@ -15,6 +15,7 @@ import numbers
import contextlib
import numpy as np
+from numpy.compat import pickle, basestring
from . import multiarray
from .multiarray import (
_fastCopyAndTranspose as fastCopyAndTranspose, ALLOW_THREADS,
@@ -44,17 +45,8 @@ ufunc = type(sin)
newaxis = None
if sys.version_info[0] >= 3:
- if sys.version_info[1] in (6, 7):
- try:
- import pickle5 as pickle
- except ImportError:
- import pickle
- else:
- import pickle
- basestring = str
import builtins
else:
- import cPickle as pickle
import __builtin__ as builtins
diff --git a/numpy/core/tests/test_datetime.py b/numpy/core/tests/test_datetime.py
index 9832b4275..43d29f42d 100644
--- a/numpy/core/tests/test_datetime.py
+++ b/numpy/core/tests/test_datetime.py
@@ -9,7 +9,7 @@ from numpy.testing import (
assert_, assert_equal, assert_raises, assert_warns, suppress_warnings,
assert_raises_regex,
)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
# Use pytz to test out various time zones if available
try:
diff --git a/numpy/core/tests/test_dtype.py b/numpy/core/tests/test_dtype.py
index 8f371197c..b4008acf2 100644
--- a/numpy/core/tests/test_dtype.py
+++ b/numpy/core/tests/test_dtype.py
@@ -10,7 +10,7 @@ import numpy as np
from numpy.core._rational_tests import rational
from numpy.testing import (
assert_, assert_equal, assert_array_equal, assert_raises, HAS_REFCOUNT)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
def assert_dtype_equal(a, b):
assert_equal(a, b)
diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py
index cf197df38..4f64661bd 100644
--- a/numpy/core/tests/test_multiarray.py
+++ b/numpy/core/tests/test_multiarray.py
@@ -21,7 +21,7 @@ import weakref
import pytest
from contextlib import contextmanager
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
if sys.version_info[0] >= 3:
import builtins
diff --git a/numpy/core/tests/test_overrides.py b/numpy/core/tests/test_overrides.py
index 4d1844b8d..6e9610fff 100644
--- a/numpy/core/tests/test_overrides.py
+++ b/numpy/core/tests/test_overrides.py
@@ -9,7 +9,7 @@ from numpy.testing import (
from numpy.core.overrides import (
_get_implementing_args, array_function_dispatch,
verify_matching_signatures)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
import pytest
diff --git a/numpy/core/tests/test_records.py b/numpy/core/tests/test_records.py
index c059ef510..f0ec38029 100644
--- a/numpy/core/tests/test_records.py
+++ b/numpy/core/tests/test_records.py
@@ -17,7 +17,7 @@ from numpy.testing import (
assert_, assert_equal, assert_array_equal, assert_array_almost_equal,
assert_raises, temppath
)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
class TestFromrecords(object):
diff --git a/numpy/core/tests/test_regression.py b/numpy/core/tests/test_regression.py
index 472a83696..1ba0cda21 100644
--- a/numpy/core/tests/test_regression.py
+++ b/numpy/core/tests/test_regression.py
@@ -16,8 +16,7 @@ from numpy.testing import (
assert_raises_regex, assert_warns, suppress_warnings,
_assert_valid_refcount, HAS_REFCOUNT,
)
-from numpy.compat import asbytes, asunicode, long
-from numpy.core.numeric import pickle
+from numpy.compat import asbytes, asunicode, long, pickle
try:
RecursionError
diff --git a/numpy/core/tests/test_ufunc.py b/numpy/core/tests/test_ufunc.py
index 9e5e3fb77..478a08397 100644
--- a/numpy/core/tests/test_ufunc.py
+++ b/numpy/core/tests/test_ufunc.py
@@ -15,7 +15,7 @@ from numpy.testing import (
assert_almost_equal, assert_array_almost_equal, assert_no_warnings,
assert_allclose,
)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
class TestUfuncKwargs(object):
diff --git a/numpy/lib/format.py b/numpy/lib/format.py
index 10945e5e8..7648be615 100644
--- a/numpy/lib/format.py
+++ b/numpy/lib/format.py
@@ -162,9 +162,8 @@ import io
import warnings
from numpy.lib.utils import safe_eval
from numpy.compat import (
- asbytes, asstr, isfileobj, long, os_fspath
+ asbytes, asstr, isfileobj, long, os_fspath, pickle
)
-from numpy.core.numeric import pickle
MAGIC_PREFIX = b'\x93NUMPY'
diff --git a/numpy/lib/npyio.py b/numpy/lib/npyio.py
index 25eadd0bb..1e43fdb34 100644
--- a/numpy/lib/npyio.py
+++ b/numpy/lib/npyio.py
@@ -24,9 +24,8 @@ from ._iotools import (
from numpy.compat import (
asbytes, asstr, asunicode, asbytes_nested, bytes, basestring, unicode,
- os_fspath, os_PathLike
+ os_fspath, os_PathLike, pickle
)
-from numpy.core.numeric import pickle
if sys.version_info[0] >= 3:
from collections.abc import Mapping
diff --git a/numpy/ma/core.py b/numpy/ma/core.py
index 63a61599c..2b17fa343 100644
--- a/numpy/ma/core.py
+++ b/numpy/ma/core.py
@@ -47,7 +47,7 @@ from numpy import expand_dims
from numpy.core.multiarray import normalize_axis_index
from numpy.core.numeric import normalize_axis_tuple
from numpy.core._internal import recursive
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
__all__ = [
diff --git a/numpy/ma/tests/test_core.py b/numpy/ma/tests/test_core.py
index e0dbf1b1a..1f80ba26d 100644
--- a/numpy/ma/tests/test_core.py
+++ b/numpy/ma/tests/test_core.py
@@ -49,7 +49,7 @@ from numpy.ma.core import (
ravel, repeat, reshape, resize, shape, sin, sinh, sometrue, sort, sqrt,
subtract, sum, take, tan, tanh, transpose, where, zeros,
)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
pi = np.pi
diff --git a/numpy/ma/tests/test_mrecords.py b/numpy/ma/tests/test_mrecords.py
index dbbf1c8a1..94e772d55 100644
--- a/numpy/ma/tests/test_mrecords.py
+++ b/numpy/ma/tests/test_mrecords.py
@@ -23,7 +23,7 @@ from numpy.ma.testutils import (
assert_, assert_equal,
assert_equal_records,
)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
class TestMRecords(object):
diff --git a/numpy/ma/tests/test_old_ma.py b/numpy/ma/tests/test_old_ma.py
index 2978be22c..07bfb613f 100644
--- a/numpy/ma/tests/test_old_ma.py
+++ b/numpy/ma/tests/test_old_ma.py
@@ -21,7 +21,7 @@ from numpy.ma import (
repeat, resize, shape, sin, sinh, sometrue, sort, sqrt, subtract, sum,
take, tan, tanh, transpose, where, zeros,
)
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
pi = np.pi
diff --git a/numpy/matrixlib/tests/test_masked_matrix.py b/numpy/matrixlib/tests/test_masked_matrix.py
index 52fd18577..1ecc15d4a 100644
--- a/numpy/matrixlib/tests/test_masked_matrix.py
+++ b/numpy/matrixlib/tests/test_masked_matrix.py
@@ -7,7 +7,7 @@ from numpy.ma.core import (masked_array, masked_values, masked, allequal,
MaskType, getmask, MaskedArray, nomask,
log, add, hypot, divide)
from numpy.ma.extras import mr_
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
class MMatrix(MaskedArray, np.matrix,):
diff --git a/numpy/tests/test_reloading.py b/numpy/tests/test_reloading.py
index a073d691f..e378d1463 100644
--- a/numpy/tests/test_reloading.py
+++ b/numpy/tests/test_reloading.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function
import sys
from numpy.testing import assert_raises, assert_, assert_equal
-from numpy.core.numeric import pickle
+from numpy.compat import pickle
if sys.version_info[:2] >= (3, 4):
from importlib import reload