gpt4 book ai didi

python-3.x - 如果我在 pyplot 之前导入 pandas 会出现 ModuleNotFoundError

转载 作者:行者123 更新时间:2023-12-02 17:53:41 25 4
gpt4 key购买 nike

今天早上我遇到了一个奇怪的错误,我希望获得一些背景信息。我有解决方法,但我想知道是否存在更深层次的问题。我在 SE 或其他在线网站上找不到任何内容。

错误:如果我在 matplotlib.pyplot 之前导入 pandas 我会收到错误消息:

Traceback (most recent call last):
File "test.py", line 5, in <module>
import matplotlib.pyplot as plt
File "/usr/lib64/python3.6/site-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/lib64/python3.6/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
ModuleNotFoundError: No module named 'matplotlib.backends.backend_qt4agg'

有效的代码:

import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas

plt.plot([1,2,3],[3,2,1])
plt.show()

不再起作用的代码:

import pandas
import matplotlib as mpl
import matplotlib.pyplot as plt

plt.plot([1,2,3],[3,2,1])
plt.show()

注意:从文件运行代码失败(python3 test.py),但从命令行解释器运行它可以。

今天早上我尝试更新我的 python 包,尽管我认为它没有做任何事情。我想让 Pandas 23 使用我在他们的文档中看到的函数。我更新了 pip3 ('pip install --user pip') 认为它会有最新版本。我在使用 pip 10.0.1 时遇到了一些问题(请参阅 https://github.com/pypa/pip/issues/5221 ),但这似乎已经神奇地解决了,尽管没有真正在该线程上执行任何建议的解决方案。无论如何,事实证明我使用的是 pip 上可用的最新版本的 Pandas (0.20.1),所以我保留了它。今天早上我也进行了“dnf 更新”,试图解决 pip 问题。

我使用的是 Python 3.6.5、Pandas 0.20.1 和 Matplotlib 2.0.0。运行 Fedora 26。我的代码工作正常(在 pyplot 之前导入 pandas),直到尝试更新。

关键是,我做了几件事可能会破坏它,我想找出原因。认为进口顺序很重要似乎是错误的。关于造成这种情况的原因有什么想法吗?如果它实际上是一个错误(而不仅仅是 pebkac 问题),我应该在哪里报告它?

干杯

最佳答案

~/.matplotlib/matplotlibrc 文件中的后端设置。将其从 TkAgg 更改为 Agg 或其他后端(如果已安装)。

或者你可以尝试这个,

import matplotlib
matplotlib.use('Agg')

关于python-3.x - 如果我在 pyplot 之前导入 pandas 会出现 ModuleNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50417282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com