错误:这明显是pickle包已经安装好了,然而在调用pickle的时候发生了误会。
原因:当前文件目录中有一个文件叫做pickle.py或者此文件的文件名为pickle.py,如果是这样,那么python在import的时候就会import到你自己写的这个文件。
以下是python模块引用的顺序:
import引用时首先判断这个module是不是built-in即内建模块,比如import sys。如果是则引入内建模块,
如果不是则在一个称为sys.path的list中寻找(引用的时候会按照下面的顺序去引用)
sys.path在python脚本执行时动态生成,包括以下3个部分:
1.脚本执行的位置,即运行模块的路径 (顺序第一)
2.环境变量中的PYTHONPATH, 即.bash_profile (顺序第二)
3.第三方模块的位置,一般在site-package文件夹下 (顺序第三)
4.通过sys.path.append(path)添加到sys.path中的路径 (顺序第四)
可以看到脚本执行的位置是位于第一优先级的。
解决方案:把和pickle重名的文件重命名。