ImportError:没有名为_gdbm的模块matplotlib pickle

der*_*ojo 6 python matplotlib

因为matplotlib 1.3 matplotlib数字是可以腌制的

当我尝试在stackoverflow上找到一个例子时:

import matplotlib.pyplot as plt
import numpy as np
import pickle

ax = plt.subplot(111)
x = np.linspace(0, 10)
y = np.exp(x)
plt.plot(x, y)
pickle.dump(ax, file('myplot.pickle', 'w'))
Run Code Online (Sandbox Code Playgroud)

来源:存储并重新加载matplotlib.pyplot对象

我收到以下错误:

Traceback (most recent call last):
  File "D:/Work/Programming/Experimental/picklematplotlib/main.py", line 15, in <module>
    pickle.dump(ax, file)
  File "C:\Python32\lib\site-packages\six.py", line 116, in __getattr__
    _module = self._resolve()
  File "C:\Python32\lib\site-packages\six.py", line 105, in _resolve
    return _import_module(self.mod)
  File "C:\Python32\lib\site-packages\six.py", line 76, in _import_module
    __import__(name)
  File "C:\Python32\lib\dbm\gnu.py", line 3, in <module>
    from _gdbm import *
ImportError: No module named _gdbm
Run Code Online (Sandbox Code Playgroud)

我在64位Windows机器上使用matplotlib-1.3.1.win-amd64.py3.2.exe版本的matplotlib和python3.2

根据:http://docs.python.org/2/library/gdbm.html gdbm在python3中命名为dbm.gnu.所以它是matplotlib中的软件错误,或者我可以做些什么来使它工作.

令人惊讶的是,.pickle文件已创建并可用.这意味着,程序在写入.pickle文件后直接崩溃

Ram*_*uet 0

更新到 matplotlib 版本 1.3.1 并且您发布的脚本没有给出任何错误(使用 Python 2.7.6)