2016-07-19 18 views
8

Python’da yeniyim. Bu TargetFinder script ("Custom Analyses") çalıştırmanız gerekir.Python, "ValueError: desteklenmeyen turşu protokolü: 4" hatası nasıl kullanılır?

Ben gerekli tüm piton paketleri yüklü ve ben main.py isimli bir betik içerisine kopyaladığınız kodu ve onu koştu. bu hata var:

[[email protected]]$ 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 

Bu turşu protokol ne anlama geldiği hakkında bir fikrim yok ve ayrıca meslektaşlarım bu konuda hiçbir şey bilmiyor.

Bu sorunu nasıl çözebilirim?

Bir CentOS Python 2.7.5 kullanıyorum Turşu protokolü temelde dosya biçimidir 1511/07/02 (Ana) işletim sistemi

+0

Nasıl 'training.h5' dosya üretildi? –

+0

Bilmiyorum: TargetFinder komut geliştiriciler Bu durumda tüm dosyaların –

+0

arasına koşuluyla, piton 3.4 veya sonrası gerekir. – cdarke

cevap

10

bırakın. documentation itibaren yüksek protokol Python daha yeni bir sürümü üretilen turşu okumak için gerekli kullanılır. ... protokol sürüm 4 Python 3.4 eklendi Turşu, senin piton sürümü (2.7.5) bu desteklemez.

Python 3.4 veya sonraki bir sürüme yükseltin (akım 3.5) veya üçüncü parametrede pickle.dump()'a bir alt protokol (2) kullanarak turşu oluşturun.