【问题标题】:Cannot import name '_png' from 'matplotlib'无法从“matplotlib”导入名称“_png”
【发布时间】:2021-02-27 22:26:20
【问题描述】:

我想用 matplotlib 代替 kivy_garden.graph。实际上,我试过this code 来检查它是否适合我。我在安装 matplotlib 时遇到了一些问题,但我已经成功(或没有)做到了。

当我启动代码时,我得到了from matplotlib import _png ImportError: cannot import name '_png' from 'matplotlib' (D:\PyCharmProjects\kivyApp\venv\lib\site-packages\matplotlib\__init__.py) 我重新安装了 matplotlib 和 pip,尝试了另一个版本的 matplotlib,但我不知道为什么它对我不起作用。 我有 Python 3.7.5pip 20.2.4ma​​tplotlib 3.3.3

【问题讨论】:

    标签: python matplotlib kivy


    【解决方案1】:

    恢复到 matplotlib 版本 3.0.2 对我不起作用,但在 3.1.3 中它可以。

    python -m pip uninstall matplotlib
    pip install matplotlib==3.1.3
    

    Python 3.8.2

    【讨论】:

    • 这是什么解决方案?正确的答案需要适用于最新稳定版 matplotlib 的解决方案。
    【解决方案2】:

    现在可以了。我在 PyCharm 的终端中执行了 py -m pip uninstall matplotlibpy -m pip install matplotlib --version=3.0.2 。 cmd 和 git bash 中的相同命令不起作用。

    【讨论】:

      【解决方案3】:

      如果您使用的是 linux 发行版,问题出在 matplotlib 的安装上。

      卸载当前版本: pip 卸载 matplotlib

      可以在以下位置找到正确的安装: https://matplotlib.org/stable/users/installing.html

      从下面为您的发行版选择正确的代码:

      Linux 包管理器 如果您使用的是 Linux 发行版附带的 Python 版本,则可以通过包管理器安装 Matplotlib,例如:

      Debian / Ubuntu:sudo apt-get install python3-matplotlib

      Fedora:sudo dnf install python3-matplotlib

      红帽:sudo yum install python3-matplotlib

      Arch:sudo pacman -S python-matplotlib

      之后它应该可以正常工作了。

      【讨论】:

        【解决方案4】:

        您也可以评论此导入所在的行:) (对我来说是 C:\Users\{username}\.kivy\garden\garden.matplotlib\backend_kivy.py ,第 256 行) 但不知道以后会带来什么问题。

        【讨论】:

        • 这对我来说似乎是一个不安全的黑客攻击,尽管仍然是一个有趣的记录。完成此操作后,您使用此库的代码是否仍然有效?
        【解决方案5】:

        我在 Google Colab 中遇到了这个问题,但无法解决。我找到的简单解决方案是安装稳定版本 pip install -U matplotlib 并重新启动运行时并运行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-03-29
          • 1970-01-01
          • 2021-04-05
          • 1970-01-01
          • 2013-03-20
          • 2015-12-22
          • 2020-12-29
          相关资源
          最近更新 更多