Fix: ValueError: unsupported pickle protocol: 5

ValueError: unsupported pickle protocol: 5

Reason for the error

    You will get an error message saying "ValueError: unsupported pickle protocol: 5" when you are trying to load a Python object that has been pickled using a protocol version that is not supported by your current Python environment.

    Note: From Python 3.8, the default pickle protocol has been changed to version 5. If you try to load a pickle file created with protocol version 5 in an earlier Python version, you will get this error.


How to fix this error

    • One of the fixes can be to update to Python version 3.8 or higher.
    • Or, you can specify the protocol for pickle in your code explicitly,
      import pickle
      
      validation_data = {"age": "22"}
      with open("data.pkl", "wb") as file:
          pickle.dump(validation_data, file, protocol=4)

Comments & Discussion

Facing issues? Have questions? Post them here! We're happy to help!