【问题标题】:matplotlib requires pyparsingmatplotlib 需要 pyparsing
【发布时间】:2014-04-02 17:45:56
【问题描述】:

我正在尝试使用 matplotlib 绘制一些数据。导入库时出现错误:

ImportError: matplotlib requires pyparsing

我使用easy_install pyparsing安装了pyparsing,但错误一直出现。

我该如何解决这个问题?或者,是否有任何替代 matplotlib 的方法来使用 Python 绘制内容?

编辑: sys.path 返回:

['', 'C:\\Python27\\lib\\site-packages\\spyderlib\\utils\\external', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\lib\\site-packages\\Orange\\orng', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode', 'C:\\Python27\\lib\\site-packages\\IPython\\extensions']

尝试导入pyparsing返回错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
    execfile(filename, namespace)
  File "C:/Python27/Lib/site-packages/xy/simulation.py", line 4, in <module>
    import pyparsing
ImportError: No module named pyparsing

【问题讨论】:

  • 您使用的是什么操作系统?如果您使用的是 Windows,那么我建议您使用 installer
  • 再次检查easy_install pyparsing 是否完成且没有错误。然后仔细检查您的 easy_install 是否属于您正在使用的同一 python 安装(which pythonwhich easy_install 应该位于同一目录中)。
  • @Ffisegydd 是的,我使用的是 Windows。尝试使用安装程序时,我收到错误“需要 Phython 2.7,在注册表中找不到”(其他版本也一样,我都试过了;无论如何它应该是 2.7)。
  • 那你有没有正确安装python?您可以尝试重新安装它以确保它已正确安装。
  • @Ffisegydd Python 安装正确,我也得到了 matplotlib 的安装程序(结果我使用了错误的安装程序......)但是,我一直收到同样的错误,并且在尝试使用安装程序进行 pyparsing,它需要 Python 2.6 并且不让我继续。

标签: python matplotlib


【解决方案1】:

我们的评论对话变得很长,因此此答案将尝试解释我在寻找什么,并希望可以帮助您找到解决方案。

当您打印 sys.path 时,它列出了 Python(在您的情况下,看起来您正在使用 Spyder 开发环境)在导入模块时尝试查找模块的所有目录。您提到在安装 pyparsing 时它提到了路径“C:\Python27\lib\etc”,这可能是它放置配置信息的位置,而不是实际的 pyparsing 代码。要么检查easy_install 输出以获取其他目录,要么使用Windows Search 查找“pyparsing.py”。该文件所在的目录需要在 python 路径(sys.path)上。

我刚刚在本地机器上安装了 pyparsing,倒数第三行显示“Installed d:\python27\lib\site-packages\pyparsing-2.0.1-py2.7.egg”

当我使用 Windows 资源管理器时,我看到 pyparsing 确实存在于我的 sys.path 中的“D:\Python27\Lib\site-packages”中,因此它可以导入。 pyparsing 可能安装在一个奇怪的位置。

作为 hack,您可以尝试通过运行将找到的路径添加到 sys.path:

import sys
sys.path.append("this\is\the\path")
import pyparsing

但您应该只将此作为一次性检查。为了将来的使用,您应该真正找出为什么它安装在默认情况下 python 不搜索的位置。也许 Spyder 正在做一些时髦的事情,不知道。

【讨论】:

  • 改用原始字符串r'this\is\the\path'
【解决方案2】:

如果你有它,你也可以尝试通过 pip 安装它。如果您需要安装脚本,请快速链接:Stackoverflow post。 无论如何,然后只需使用:

pip install pyparsing

【讨论】:

    【解决方案3】:

    对我来说,以前的鸡蛋安装搞砸了。我刚刚做了:

    pip uninstall pyparsing
    pip install pyparsing
    

    这修复了依赖解析。

    【讨论】:

    • 更新anaconda后,matplotlib无法加载并返回“no module named pyparsing”但是卸载再安装pyparsing解决了问题
    【解决方案4】:
    pip install pyparsing
    

    不适合我。 pyparsing 必须与 python 一起提供。重新安装 python 和 pip 对我有用。

    【讨论】:

      【解决方案5】:
      apt-get remove python-pip
      apt-get install build-essential libssl-dev libffi-dev python-dev
      wget https://bootstrap.pypa.io/get-pip.py
      python get-pip.py
      apt-get install python-pip
      pip install cffi
      

      这些步骤解决了基本的“pip --version”错误

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-02
        • 2019-03-13
        • 1970-01-01
        • 2010-10-12
        • 2014-10-30
        • 2016-04-18
        相关资源
        最近更新 更多