JuliaPy / JuliaPy/PyCall.jl

Loading Binary pickle

Open
#179 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
1.5k
Forks
186
PR merge metrics
No merged PRs in 30d

Description

Hello.
Thanks for this great library.
I am having troubles reading in pickled data serialized using protocol 1 or 2.
Here is a short snipped to reproduce:

```
a = [1:10]
fid = open("test.pickle","w")
pickle.dump(test, fid, 2)
close(fid)

fid = open("test.pickle","r")
data = pickle.load(PyTextIO(fid))
close(fid)
```

It works when I dump with protocol 0.
I can read the data in python.
I am using julia linux binaries 0.3.11 and PyCall 0.8.2.

I get the following error:

```
PyError (:PyObject_Call)
UnicodeDecodeError('utf8', '\x80', 0, 1, 'invalid start byte')

while loading In[81], in expression starting on line 8

in pyerr_check at /home/90days/ko/julia/v0.3/PyCall/src/exception.jl:58
in pycall at /home/90days/ko/julia/v0.3/PyCall/src/PyCall.jl:91
in fn at /home/90days/ko/julia/v0.3/PyCall/src/conversions.jl:188
```

I hope I am using it correctly. Would be great if that works, since protocol 1 or 2 are an order of magnitude faster than 0 in my case.
Thanks!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.