【问题标题】:"import matplotlib.pyplot as plt" in ipython notebookipython 笔记本中的“将 matplotlib.pyplot 作为 plt 导入”
【发布时间】:2013-12-27 08:04:06
【问题描述】:

我是 ipython notebook 的新手,但每当我运行 import matplotlib.pyplot as plt 时,我都会收到以下错误消息。我正在使用 Mac。它适用于内置的 python 或 Canopy。这个问题只存在于ipython notebook。我也尝试更新numpy,但问题仍然存在。很感激有人帮忙!

import matplotlib.pyplot as plt

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
RuntimeError: module compiled against API version 9 but this version of numpy is 7

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-6f467123fe04> in <module>()
----> 1 import matplotlib.pyplot

/Users/Michael/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>()
     22 
     23 import matplotlib
---> 24 import matplotlib.colorbar
     25 from matplotlib import _pylab_helpers, interactive
     26 from matplotlib.cbook import dedent, silent_list, is_string_like, is_numlike

/Users/Michael/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/colorbar.py in <module>()
     27 import matplotlib.artist as martist
     28 import matplotlib.cbook as cbook
---> 29 import matplotlib.collections as collections
     30 import matplotlib.colors as colors
     31 import matplotlib.contour as contour

/Users/Michael/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/collections.py in <module>()
     21 import matplotlib.artist as artist
     22 from matplotlib.artist import allow_rasterization
---> 23 import matplotlib.backend_bases as backend_bases
     24 import matplotlib.path as mpath
     25 from matplotlib import _path

/Users/Michael/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/backend_bases.py in <module>()
     48 
     49 import matplotlib.tight_bbox as tight_bbox
---> 50 import matplotlib.textpath as textpath
     51 from matplotlib.path import Path
     52 from matplotlib.cbook import mplDeprecation

/Users/Michael/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/textpath.py in <module>()
      9 from matplotlib.path import Path
     10 from matplotlib import rcParams
---> 11 import matplotlib.font_manager as font_manager
     12 from matplotlib.ft2font import FT2Font, KERNING_DEFAULT, LOAD_NO_HINTING
     13 from matplotlib.ft2font import LOAD_TARGET_LIGHT

/Users/Michael/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/font_manager.py in <module>()
     51 import matplotlib
     52 from matplotlib import afm
---> 53 from matplotlib import ft2font
     54 from matplotlib import rcParams, get_cachedir
     55 from matplotlib.cbook import is_string_like

ImportError: numpy.core.multiarray failed to import

【问题讨论】:

  • 尝试运行ipython notebook --pylab
  • 您好,感谢您的帮助。我尝试收到以下错误消息。我尝试再次安装 matplotlib,并再次运行该程序,但在 ipython 笔记本中仍然收到相同的错误消息。 '警告:尝试在 virtualenv 中工作。如果遇到问题,请在 virtualenv 中安装 IPython。 -------------------------------------------------- ------------------------- 无 Traceback(最近一次通话最后一次) 无:无 [IPKernelApp] 警告 | Eventloop 或 matplotlib 集成失败。 matplotlib 安装了吗?'
  • 您的安装看起来很糟糕。看起来您使用的是 Mac,它似乎在正确获取路径方面存在地方性问题。你是如何安装matplotlib/enthought 的?
  • 我是通过enthought.com/downloads安装的。我刚刚重新下载并重新安装了该软件包,但它仍然无法正常工作。事实上,我通过 Anaconda 而不是 Enthought Canopy 安装 ipython,因为当我按照 Indeed 的安装说明进行安装时,出现错误消息“您在虚拟环境中以 root 用户身份运行 enpkg。请以普通用户身份运行” ipython 通过 Anaconda 而不是 Enthought ipython.org/install.html
  • 请注意,最新版本的 ipython notebook(截至今天)似乎不支持 --pylab 选项。以防有人想知道。

标签: python macos python-2.7 numpy matplotlib


【解决方案1】:

您对 Canopy 的投入程度如何?我在尝试使用 Canopy 时遇到了一些配置问题,最终使用 Homebrew 来自定义我自己的 Python 安装。有一个非常有用的指南:

http://joernhees.de/blog/2013/06/08/mac-os-x-10-8-scientific-python-with-homebrew/

我遵循了所有这些步骤,除了两个或三个(不记得具体是哪个)“brew install”方法不起作用,我不得不改为 pip 模块。

我刚刚打开了一个 IPython 笔记本,以验证在我的发行版上一切正常。

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()

上面给了我预期的输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 2019-02-26
    • 1970-01-01
    • 2017-11-05
    • 2015-06-08
    • 1970-01-01
    • 2014-12-05
    • 2015-04-23
    相关资源
    最近更新 更多