diff --git a/python/ray/parameter.py b/python/ray/parameter.py index cb1c6ef46..af8785886 100644 --- a/python/ray/parameter.py +++ b/python/ray/parameter.py @@ -4,6 +4,9 @@ from __future__ import print_function import logging +import numpy as np +from packaging import version + import ray.ray_constants as ray_constants @@ -207,3 +210,10 @@ class RayParams(object): if self.redirect_output is not None: raise DeprecationWarning( "The redirect_output argument is deprecated.") + + if self.use_pickle: + assert (version.parse( + np.__version__) >= version.parse("1.16.0")), ( + "numpy >= 1.16.0 required for use_pickle=True support. " + "You can use ray.init(use_pickle=False) for older numpy " + "versions, but this may be removed in future versions.") diff --git a/python/ray/serialization.py b/python/ray/serialization.py index 3a4c3acc2..7e0c07ea0 100644 --- a/python/ray/serialization.py +++ b/python/ray/serialization.py @@ -1,12 +1,15 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function + import hashlib import io import logging import time + import pyarrow import pyarrow.plasma as plasma + import ray.cloudpickle as pickle from ray import ray_constants, JobID import ray.utils diff --git a/python/setup.py b/python/setup.py index 153c9784c..5882584b7 100644 --- a/python/setup.py +++ b/python/setup.py @@ -163,7 +163,7 @@ def find_version(*filepath): requires = [ - "numpy >= 1.14", + "numpy >= 1.16", "filelock", "jsonschema", "funcsigs",