[issue42659] Objects of uname_result Class Cannot be Successfully Pickled
CrocoDuck added the comment: Hi, I somehow missed the other issue while searching for something similar to this, sorry about that. The main issue is that files pickled with python 3.9.0 cannot be read back by using python 3.9.0 if they contain a `uname_result` object. As for expecting pickle to work across different versions: I did not actually think about that. In the original message I mentioned python 3.8.5 as I noticed this issue did not happen in python 3.8.5, so I though it was useful information. To my (hopefully correct) understanding if a python version supports the same protocol that was used to create the pickle file then it is expected to work. For example I have observed that files containing `uname_result` objects pickled with python 3.7.6 are still readable with python 3.8.5. As far as I understand this is the expected behavior. On 16/12/2020 22:08, Jason R. Coombs wrote: > Jason R. Coombs added the comment: > > The PR for the related issue does address pickling. Do you expect pickles to > work across Python versions? > > -- > > ___ > Python tracker > <https://bugs.python.org/issue42659> > ___ -- ___ Python tracker <https://bugs.python.org/issue42659> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42659] Objects of uname_result Class Cannot be Successfully Pickled
New submission from CrocoDuck : See the code example below. ```python import platform import pickle pack = { 'uname_result': platform.uname() } with open('test.pickle', 'wb') as f: pickle.dump(pack, f, protocol=pickle.HIGHEST_PROTOCOL) with open('test.pickle', 'rb') as f: data = pickle.load(f) ``` It works smoothly on Python 3.8.5. However, on Python 3.9.0, the last line produces this error: ``` Traceback (most recent call last): File "/Users/crocoduck/pickle/3.9.0/make_pickle.py", line 12, in data = pickle.load(f) TypeError: () takes 6 positional arguments but 7 were given ``` The files produced by the code snipped above are attached for reference. This was observed in macOS Catalina 10.15.7. -- files: pickles.zip messages: 383174 nosy: CrocoDuck priority: normal severity: normal status: open title: Objects of uname_result Class Cannot be Successfully Pickled type: behavior versions: Python 3.9 Added file: https://bugs.python.org/file49688/pickles.zip ___ Python tracker <https://bugs.python.org/issue42659> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com