You should write the pickled data with a lower protocol number in Python 3. Python 3 introduced a new protocol with the number
3 (and uses it as default), so switch back to a value of
2 which can be read by Python 2.
pickle.dump. Your resulting code will look like this.
pickle.dump(your_object, your_file, protocol=2)
There is no
pickle can determine the protocol from the file.