From 7ad278a1f20fc7b66e7d273a98c4bdc73dd6833d Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Thu, 17 Aug 2017 23:05:25 -0700 Subject: [PATCH] six importing work around restore --- python/pyspark/cloudpickle.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python/pyspark/cloudpickle.py b/python/pyspark/cloudpickle.py index 7224f3a455610..027b7c5024cf2 100644 --- a/python/pyspark/cloudpickle.py +++ b/python/pyspark/cloudpickle.py @@ -322,7 +322,12 @@ def save_function(self, obj, name=None): if name is None: name = obj.__name__ - modname = pickle.whichmodule(obj, name) + try: + # whichmodule() could fail, see + # https://bitbucket.org/gutworth/six/issues/63/importing-six-breaks-pickling + modname = pickle.whichmodule(obj, name) + except Exception: + modname = None # print('which gives %s %s %s' % (modname, obj, name)) try: themodule = sys.modules[modname]