push: Unsupported pickle protocol: 5 on python 3.7.11
See original GitHub issueBug Report
Description
When attempting to push to remote (Google Cloud Storage) using DVC version 2.10.2
and Python version 3.7.11
I encounter the following error:
$ dvc push
ERROR: unexpected error - unsupported pickle protocol: 5
Having any troubles? Hit us up at https://dvc.org/support, we are always happy to help!
In my tests on python 3.8 this issue does not happen.
Reproduce
Install DVC version 2.10.2
with Python version 3.7.11
and attempt to push to remote.
Expected
Expected to pickle successfully and push the pickled data to remote (Google Cloud Storage).
Environment information
$ dvc doctor
DVC version: 2.10.2 (conda)
---------------------------------
Platform: Python 3.7.11 on Darwin-21.2.0-x86_64-i386-64bit
Supports:
gs (gcsfs = 2022.1.0),
webhdfs (fsspec = 2022.1.0),
http (aiohttp = 3.8.1, aiohttp-retry = 2.4.6),
https (aiohttp = 3.8.1, aiohttp-retry = 2.4.6)
Cache types: reflink, hardlink, symlink
Cache directory: apfs on /dev/disk1s1s1
Caches: local
Remotes: gs
Workspace directory: apfs on /dev/disk1s1s1
Repo: dvc, git
Issue Analytics
- State:
- Created a year ago
- Comments:7 (2 by maintainers)
Top Results From Across the Web
Python 3.7 Error: Unsupported Pickle Protocol 5 - Stack Overflow
In the event that you cannot load pickle5 because of its dependencies (mainly Visual Building c++), another solution could be that you change ......
Read more >PEP 574 – Pickle protocol 5 with out-of-band data
Abstract. This PEP proposes to standardize a new pickle protocol version, and accompanying APIs to take full advantage of it: · Rationale. The...
Read more >Python Error: Unsupported Pickle Protocol 5 - Teition Solutions
This package backports all features and APIs added in the pickle module in Python 3.8.3, including the PEP 574 additions. It should work...
Read more >Python 3.5.3 ValueError - unsupported pickle protocol: 5
It seems that your pickle file 'existing_videos.pkl' was saved using protocol=5 and Python 3.5.3 does not support pickle protocol=5.
Read more >How to generate a report out of a script with Python 3.8? - Reddit
The error I get is related to the pickle protocol (protocol 5 it's not supported, it says), but I suppose the root problem...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Alright, I’ll try to switch our pre-commit environment to use python 3.7 as well. Thanks a lot!
@jnissin this behavior (but not the incorrect error message) is expected if you are mixing python3.8 and 3.7 usage within the same repo. See the docs linked by @daavoo, you will need to remove
.dvc/tmp/index
before running in python 3.7 in this case.