[issue5180] 3.1 cannot unpickle 2.7-created pickle
Alexander Belopolsky
report at bugs.python.org
Sun Jun 27 03:25:23 CEST 2010
Alexander Belopolsky <belopolsky at users.sourceforge.net> added the comment:
If I disable _pickle, I get a more meaningful trace:
File "Tools/pybench/pybench.py", line 954, in <module>
PyBenchCmdline()
File "/Users/sasha/Work/python-svn/py3k-commit/Tools/pybench/CommandLine.py", line 349, in __init__
rc = self.main()
File "Tools/pybench/pybench.py", line 888, in main
bench = pickle.load(f)
File "/Users/sasha/Work/python-svn/py3k-commit/Lib/pickle.py", line 1321, in load
encoding=encoding, errors=errors).load()
File "/Users/sasha/Work/python-svn/py3k-commit/Lib/pickle.py", line 830, in load
dispatch[key[0]](self)
File "/Users/sasha/Work/python-svn/py3k-commit/Lib/pickle.py", line 1055, in load_inst
klass = self.find_class(module, name)
File "/Users/sasha/Work/python-svn/py3k-commit/Lib/pickle.py", line 1115, in find_class
__import__(module, level=0)
File "/Users/sasha/Work/python-svn/py3k-commit/Tools/pybench/Unicode.py", line 17
s = unicode(u''.join(map(str,range(100))))
^
SyntaxError: invalid syntax
Apparently, pybench/Unicode.py has never been converted to py3k. This is likely not the only problem:
>>> from pybench import *
>>> import pickle
>>> pickle.load(open('27.bench'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/sasha/Work/python-svn/py3k-commit/Lib/pickle.py", line 1321, in load
encoding=encoding, errors=errors).load()
File "/Users/sasha/Work/python-svn/py3k-commit/Lib/pickle.py", line 829, in load
assert isinstance(key, bytes_types)
AssertionError
This looks like the infamous bytes vs string problem ...
----------
nosy: +belopolsky
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5180>
_______________________________________
More information about the Python-bugs-list
mailing list