[PyQt] pickle error

Devon devon.rueckner at temboo.com
Tue Oct 16 16:46:50 BST 2007


Hi -

I'm pickling a rather complex class (with internal circular
references).  Any thoughts as to what might cause this error to be
thrown?

I'll see if it can be reproduced with some test code I can post.

Thanks
~ Devon


v:(
 qt 4.3.2-snapshot-20070830
 sip 4.7
 pyqt 4.3
)


------------------------------------------------------
...
    pickled = pickle.dumps(memento)
  File "C:\Python25\Lib\pickle.py", line 1366, in dumps
    Pickler(file, protocol).dump(obj)
  File "C:\Python25\Lib\pickle.py", line 224, in dump
    self.save(obj)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 725, in save_inst
    save(stuff)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "C:\Python25\Lib\pickle.py", line 663, in _batch_setitems
    save(v)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 600, in save_list
    self._batch_appends(iter(obj))
  File "C:\Python25\Lib\pickle.py", line 615, in _batch_appends
    save(x)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 562, in save_tuple
    save(element)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 562, in save_tuple
    save(element)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 600, in save_list
    self._batch_appends(iter(obj))
  File "C:\Python25\Lib\pickle.py", line 615, in _batch_appends
    save(x)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 725, in save_inst
    save(stuff)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "C:\Python25\Lib\pickle.py", line 663, in _batch_setitems
    save(v)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 600, in save_list
    self._batch_appends(iter(obj))
  File "C:\Python25\Lib\pickle.py", line 615, in _batch_appends
    save(x)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 725, in save_inst
    save(stuff)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "C:\Python25\Lib\pickle.py", line 663, in _batch_setitems
    save(v)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 600, in save_list
    self._batch_appends(iter(obj))
  File "C:\Python25\Lib\pickle.py", line 615, in _batch_appends
    save(x)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 725, in save_inst
    save(stuff)
  File "C:\Python25\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python25\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "C:\Python25\Lib\pickle.py", line 663, in _batch_setitems
    save(v)
  File "C:\Python25\Lib\pickle.py", line 306, in save
    rv = reduce(self.proto)
  File "C:\Python25\Lib\copy_reg.py", line 70, in _reduce_ex
    state = base(self)
TypeError: the sip.wrapper type cannot be instantiated or sub-classed
------------------------------------------------------


More information about the PyQt mailing list