Shurui Liu (Aaron Liu) wrote:
# geek_translator3.py

# Pickle
import pickle

This is where you told it to load import.py. Normally, that just quietly loads the standard module included with your system.
<snip, rest of source>

When I run it, the system gave me the feedback below:
Traceback (most recent call last):
  File "geek_translator3.py", line 4, in <module>
    import pickle
  File "/usr/local/lib/python2.5/pickle.py", line 13, in <module>

AttributeError: 'module' object has no attribute 'dump'

I don't understand, I don't write anything about pickle.py, why it mentioned?
what's wrong with "import pickle"? I read many examples online whose
has "import pickle", they all run very well.
Thank you!

I don't have 2.5 any more, so I can't look at the same file you presumably have. And line numbers will most likely be different in 2.6. In particular, there are lots of module comments at the beginning of my version of pickle.py. You should take a look at yours, and see what's in line 13. My guess it's a reference to the dump() function which may be defined in the same file. Perhaps in 2.5 it was defined elsewhere.

Most common cause for something like this would be that pickle imports some module, and you have a module by that name in your current directory (or elsewhere on the sys.path). So pickle gets an error after importing it, trying to use a global attribute that's not there.

Wild guess - do you have a file called marshal.py in your own code?

DaveA

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to