【问题标题】:Unable to import package: Issues with InputHookManager无法导入包:InputHookManager 的问题
【发布时间】:2020-01-31 20:15:17
【问题描述】:

我现在花了最后一个小时左右试图解决这个问题,但失败了。我已经阅读了几个相关的问题,例如this,GitHub 问题例如this,但找不到最好的解决这个问题的方法。

导致错误的步骤

  1. import matplotlib.pyplot as plt

错误信息:

AttributeError: 'InputHookManager' 对象没有属性 '_stdin_file'

编辑

  1. 如下导入会引发同样的错误(请参阅下面的我的系统的详细信息和失败的尝试):
from matplotlib import pyplot as plt

  1. 它在终端工作

尝试失败

然后我打开了定义 InputHookManager 的文件,发现它与 ipythonpydev 有关,所以我重新安装了 ipython,但这并没有解决问题。

我也尝试重新安装matplotlib 无济于事。 seaborn 也会出现同样的错误,大概是因为它们都需要使用 gtk3。

有关系统的更多详细信息

python 3.6
pycharm community 2019.2.1
Ubuntu 18.04.3
matplotlib 3.1.1

【问题讨论】:

  • 它在 pycharm 之外工作吗?只需在控制台中打开一个 python 解释器并尝试相同的导入。
  • 如果我只使用终端就可以。

标签: python python-3.x pycharm


【解决方案1】:

如果 IPython 不起作用,请尝试以下操作。 PyCharm 似乎对 Linux 中的交互模式不满意。

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

【讨论】:

  • 这对我有用。我也在 Ubuntu 上使用 pycharm。
【解决方案2】:

试试这个对我有用的:

from matplotlib import pyplot as plt

【讨论】:

  • 我已经试过了。它不起作用。我现在正在考虑使用不同的 IDE,直到我弄清楚如何解决这个问题。我已经浪费了足够多的时间了。
【解决方案3】:

浪费了很多时间,尝试了不同的IDE,终于解决了如下:

假设:

  1. 您使用的是 Linux 发行版(我使用的是 Ubuntu 18.04.3)

现在使用默认的pip 卸载ipython,如下所示:

sudo python -m pip uninstall ipython

如果ipython 不存在会抛出错误(好)。

现在,安装ipython

sudo python -m pip install ipython

我的理解是 PyCharm 以某种方式使用默认的matplotlib(python 2.7) 而不是项目特定的解释器包(matplotlib from python 3.6 here)。因此,您可以通过解决该冲突来解决此问题。

【讨论】:

    【解决方案4】:

    我也有同样的问题。我在使用 PyCharm 2020.2 的 Ubuntu 18.04 上。看看:"UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure." when plotting figure with pyplot on Pycharm

    sudo apt-get install python3-tk 解决问题

    20200902 更新:不幸的是,我再次看到此错误。这似乎可以解决:

    import matplotlib 
    matplotlib.use('TkAgg') 
    import matplotlib.pyplot as plt
    

    plt.show() 现在可以显示绘图了

    【讨论】:

      【解决方案5】:

      我遇到了完全相同的问题,唯一对我有用的解决方案是安装 PyQt5 pip3 install PyQt5,安装后,它再次像魅力一样工作。

      【讨论】:

        猜你喜欢
        • 2017-07-22
        • 2019-10-08
        • 2020-08-13
        • 2011-09-15
        • 2017-04-18
        • 1970-01-01
        • 2022-07-04
        • 2022-12-04
        相关资源
        最近更新 更多