麻烦在OSX"Numpy dtype unpickling"中的非字符串名称进行pickle和unpickling

Jam*_*esT 6 python macos class pickle

我正在尝试pickle和unpickle我正在使用的数据类的实例,它在Unix上运行良好:

import dataclass as dc

data = dc.DataClass()
f = open(filename, 'wb')
pickle.dump(data, f)
f.close()

f = open(filename, 'rb')
unpickled_data = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)

所以我可以再次使用unpicked_data.但是当我在mac OS XI上尝试这些相同的步骤时会出现错误:

f = open(filename, 'rb')
unpickled_data = pickle.load(f)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

pickle.pyc in load(file)
   1376 
   1377 def load(file):
-> 1378     return Unpickler(file).load()
   1379 
   1380 def loads(str):

pickle.pyc in load(self)
    856             while 1:
    857                 key = read(1)
--> 858                 dispatch[key](self)
    859         except _Stop, stopinst:
    860             return stopinst.value

pickle.pyc in load_build(self)
   1215         setstate = getattr(inst, "__setstate__", None)
   1216         if setstate:
-> 1217             setstate(state)
   1218             return
   1219         slotstate = None

ValueError: non-string names in Numpy dtype unpickling
Run Code Online (Sandbox Code Playgroud)

我已经尝试了在OS X上腌制和取消更简单的对象,如字典,它似乎工作正常.但由于某种原因,不喜欢这个数据类.任何帮助是极大的赞赏!谢谢.