harold fellermann <[EMAIL PROTECTED]> wrote: > File "/sw/lib/python2.4/pickle.py", line 760, in save_global > raise PicklingError( > pickle.PicklingError: Can't pickle <type 'hyper.PeriodicGrid'>: it's > not found as hyper.PeriodicGrid > >>> dir(hyper) > ['Dir', 'Neighbors', 'PeriodicGrid', 'PeriodicPos', '__doc__', > '__file__', '__name__', 'refcount'] > >>> hyper.PeriodicGrid > <type 'hyper.PeriodicGrid'> > > So pickle complains about the class PeriodicGrid not being found in the > module hyper, but a dir() > proves that python can find it. Has anyone an idea what's going wrong > here?
These symptomps are pretty weird -- let's try to pin things down a bit more. The relevant few lines of pickle.py are: try: __import__(module) mod = sys.modules[module] klass = getattr(mod, name) except (ImportError, KeyError, AttributeError): raise PicklingError( so, could you please edit your pickle.py to provide VASTLY more info, say: try: print 'Here it goes...:' _xx = __import__(module) print ' __import__ says: %r' % (_xx,) mod = sys.modules[module] print ' in sys.modules: %r' % (mod,) klass = getattr(mod, name) print ' klass is: %r' % (klass,) except (ImportError, KeyError, AttributeError), _xx: print ' OOPS, error (%s): %s' % (_xx.__class__, _xx) raise PicklingError( and let us know exactly what his modified pickle.py outputs...? Thanks, Alex -- http://mail.python.org/mailman/listinfo/python-list