使用conda虚拟环境的PyCharm项目使用matplotlib.pyplot库出现问题

  • matplotlib 版本3.8.2
  • python 版本3.10

问题表述:

  • 使用PyCharm的右键run会出现报错信息,但是在pycharm 的终端窗口(虚拟环境下)使用命令(python test.py)不会报错

  • 出错代码位置:plt.plot(year, rank, label='大学')

  • 报错信息:

Traceback (most recent call last):
  File "D:\work_python\college3_python\week13\chinaUniversity.py", line 68, in <module>
    main(2023)
  File "D:\work_python\college3_python\week13\chinaUniversity.py", line 15, in main
    analysis()
  File "D:\work_python\college3_python\week13\chinaUniversity.py", line 61, in analysis
    plt.plot(year, rank, label='大学')
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 3575, in plot
    return gca().plot(
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 2525, in gca
    return gcf().gca()
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 1000, in gcf
    return figure()
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 934, in figure
    manager = new_figure_manager(
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 464, in new_figure_manager
    _warn_if_gui_out_of_main_thread()
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 441, in _warn_if_gui_out_of_main_thread
    canvas_class = cast(type[FigureCanvasBase], _get_backend_mod().FigureCanvas)
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 280, in _get_backend_mod
    switch_backend(rcParams._get("backend"))  # type: ignore[attr-defined]
  File "D:\condaEnv\data_analysis\lib\site-packages\matplotlib\pyplot.py", line 343, in switch_backend
    canvas_class = module.FigureCanvas
AttributeError: module 'backend_interagg' has no attribute 'FigureCanvas'. Did you mean: 'FigureCanvasAgg'?

Process finished with exit code 1

解决办法(两种)

  1. Matplotlib的后端可能导致问题。尝试在你出错的py代码开头添加以下行,更改Matplotlib的后端:
import matplotlib
matplotlib.use('TkAgg')  # 选择合适的后端,例如TkAgg、Qt5Agg等

笔者尝试成功,TkAgg、Qt5Agg任选一个,右键 run 不会再出现报错

  1. matplotlib的版本问题
    笔者本来使用的是matplotlib=3.8.2版本的,改为3.5.2版本就可以了,右键 run 不会再出现报错

在虚拟环境下执行以下命令

conda uninstall matplotlib
conda uninstall matplotlib-base

conda uninstall matplotlib=3.5.2
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值