You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入matplotlib时报'int()参数必须为字符串'错误求助

matplotlib导入报错:TypeError: int() argument must be a string... not 'KeyboardModifier'

错误详情

Traceback (most recent call last):
  File "G:\onedrive\OneDrive - mail.dlut.edu.cn\PyCharm\shock wave\P6.py", line 7, in <module>
    import matplotlib.pyplot as plt
  File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 2230, in <module>
    switch_backend(rcParams["backend"])
  File "D:\anaconda3\lib\site-packages\matplotlib\__init__.py", line 672, in __getitem__
    plt.switch_backend(rcsetup._auto_backend_sentinel)
  File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 247, in switch_backend
    switch_backend(candidate)
  File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 267, in switch_backend
    class backend_mod(matplotlib.backend_bases._Backend):
  File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 268, in backend_mod
    locals().update(vars(importlib.import_module(backend_name)))
  File "D:\anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "D:\anaconda3\lib\site-packages\matplotlib\backends\backend_qtagg.py", line 12, in <module>
    from .backend_qt import (
  File "D:\anaconda3\lib\site-packages\matplotlib\backends\backend_qt.py", line 73, in <module>
    _MODIFIER_KEYS = [
  File "D:\anaconda3\lib\site-packages\matplotlib\backends\backend_qt.py", line 74, in <listcomp>
    (_to_int(getattr(_enum("QtCore.Qt.KeyboardModifier"), mod)),
TypeError: int() argument must be a string, a bytes-like object or a number, not 'KeyboardModifier'

Process finished with exit code 1

解决方法

这是matplotlib与PyQt版本不兼容导致的问题,可通过以下方式解决:

  • 升级matplotlib到兼容版本
    打开Anaconda Prompt,执行命令:

    conda install matplotlib --upgrade
    
  • 更换matplotlib后端(无需升级)
    在代码开头添加两行,指定非Qt的后端,比如TkAgg(支持界面显示)或Agg(仅用于生成图片文件):

    import matplotlib
    matplotlib.use('TkAgg')  # 替换成'Agg'可用于无界面环境
    import matplotlib.pyplot as plt
    
  • 升级PyQt版本
    在Anaconda Prompt执行:

    conda install pyqt --upgrade
    

内容的提问来源于stack exchange,提问作者loverchun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:15:30