diff --git a/GPy/__init__.py b/GPy/__init__.py index 8af8a4f6..506ad866 100644 --- a/GPy/__init__.py +++ b/GPy/__init__.py @@ -43,19 +43,28 @@ def load(file_or_path): :param file_name: path/to/file.pickle """ try: - str = basestring - except: - pass - try: - import cPickle as pickle - if isinstance(file_or_path, str): - with open(file_or_path, 'rb') as f: - m = pickle.load(f) + unicode = unicode + except NameError: + # 'unicode' is undefined, must be Python 3 + str = str + unicode = str + bytes = bytes + basestring = (str,bytes) + else: + # 'unicode' exists, must be Python 2 + str = str + unicode = unicode + bytes = str + basestring = basestring try: + import cPickle as pickle + if isinstance(file_or_path, basestring): + with open(file_or_path, 'rb') as f: + m = pickle.load(f) else: m = pickle.load(file_or_path) except: import pickle - if isinstance(file_or_path, str): + if isinstance(file_or_path, basestring): with open(file_or_path, 'rb') as f: m = pickle.load(f) else: