在PyCharm 4.5.3社区版上以交互方式测试某些代码时,我遇到了这个问题。酸洗类对象在交互式控制台中不起作用。这是我的最小代码:
import pickle
class Test:
def __init__(self, name):
self.name = name
with open('testdata.pkl', 'wb') as output:
test1 = Test('Fritz')
pickle.dump(test1, output, pickle.HIGHEST_PROTOCOL)
test2 = Test('Hans')
pickle.dump(test2, output, pickle.HIGHEST_PROTOCOL)
在OSX 10.10.4上使用Python 3.4.3在PyCharm 4.5.3中的交互式控制台上运行它,我收到以下错误:
Traceback (most recent call last):
File "<input>", line 7, in <module> _pickle.PicklingError:
Can't pickle <class 'Test'>: attribute lookup Test on builtins failed
在PyCharm中使用'Run'执行代码时可以正常工作。这不是一件大事,但是由于我不知道在“全新”交互式控制台中运行代码与使用“运行”命令执行之间存在差异,因此我花了很长时间。 可能与here
相同