报错情况

单独的一个py文件执行 pickle的dump和load过程都不会报错(也有可能有的人不在django中,单纯的只load也会报错,但在django中引用的时候就会报错。

1 不在django中,单独的执行load会报错的情况

如果单独执行出现AttributeError: Can’t get attribute ‘Recommender’ on <module ‘main’ from ‘E:/running_pycharm/django2/del.py’>,以下为load代码和报错情况,出现原因是,内存中找不到Recommender类,这是由于,load之前必须要将Recommender的类加载到内存中,可以from mydata import Recommender,也可以将整个Recommender类复制到文件中
django中pickle.load报错Can't get attribute 'Recommender' on module '__main__' from 'manage.py'
django中pickle.load报错Can't get attribute 'Recommender' on module '__main__' from 'manage.py'
更改如下图即可
django中pickle.load报错Can't get attribute 'Recommender' on module '__main__' from 'manage.py'

2 在django中,出现Can’t get attribute ‘Recommender’ on <module ‘main’ from ‘manage.py’>

django中pickle.load报错Can't get attribute 'Recommender' on module '__main__' from 'manage.py'
提示在manage.py中找不到Recommender,此时load的那个文件已经有了Recommender类但是还是找不到,解决办法:可以在manage.py中导入Recommender类。

相关文章: