Python,如何处理"ValueError:unsupported pickle protocol:4"错误?

Dav*_*.it 22 python centos pickle

我是Python的新手.我要运行这个TargetFinder脚本("自定义分析").

我安装了所有必需的python包,并将代码复制到我命名的脚本中main.py,然后运行它.我收到了这个错误:

[davide@laptop]$ python main.py 
Traceback (most recent call last):
  File "main.py", line 8, in <module>
    training_df = pd.read_hdf('./paper/targetfinder/K562/output-epw/training.h5', 'training').set_index(['enhancer_name', 'promoter_name'])
  File "/usr/lib64/python2.7/site-packages/pandas/io/pytables.py", line 330, in read_hdf
    return store.select(key, auto_close=auto_close, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pandas/io/pytables.py", line 680, in select
    return it.get_result()
  File "/usr/lib64/python2.7/site-packages/pandas/io/pytables.py", line 1364, in get_result
    results = self.func(self.start, self.stop, where)
  File "/usr/lib64/python2.7/site-packages/pandas/io/pytables.py", line 673, in func
    columns=columns, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pandas/io/pytables.py", line 2786, in read
    values = self.read_array('block%d_values' % i)
  File "/usr/lib64/python2.7/site-packages/pandas/io/pytables.py", line 2327, in read_array
    data = node[:]
  File "/usr/lib64/python2.7/site-packages/tables/vlarray.py", line 677, in __getitem__
    return self.read(start, stop, step)
  File "/usr/lib64/python2.7/site-packages/tables/vlarray.py", line 817, in read
    outlistarr = [atom.fromarray(arr) for arr in listarr]
  File "/usr/lib64/python2.7/site-packages/tables/atom.py", line 1211, in fromarray
    return cPickle.loads(array.tostring())
ValueError: unsupported pickle protocol: 4
Run Code Online (Sandbox Code Playgroud)

我不知道这个泡菜协议意味着什么,而且我的同事也对此一无所知.

我怎么解决这个问题?

我在CentOS Linux版本7.2.1511(Core)操作系统上使用Python 2.7.5

cda*_*rke 24

Pickle协议基本上是文件格式.从文档, 越高协议中使用的,更近的Python的版本需要读取所产生的腌汁.... 在Python 3.4中添加了Pickle协议版本4,您的python版本(2.7.5)不支持此功能.

升级到Python 3.4或更高版本(当前为3.5)或使用第三个参数中的较低协议(2)创建pickle pickle.dump().


Dmi*_*pov 5

有时会发生这种情况,因为 redis 数据库中的数据不正确。尝试一下:

sudo redis-cli flushall
Run Code Online (Sandbox Code Playgroud)

  • 你是救星,伙计!非常感谢您的建议! (2认同)