linux 环境导入python matplotlib.pyplot库报错


>>> import matplotlib.pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py", line 113, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 60, in pylab_setup
    [backend_name], 0)
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5agg.py", line 16, in <module>
    from .backend_qt5 import (
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py", line 18, in <module>
    import matplotlib.backends.qt_editor.figureoptions as figureoptions
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 20, in <module>
    import matplotlib.backends.qt_editor.formlayout as formlayout
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/formlayout.py", line 56, in <module>
    from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore
  File "/home/bigdata/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_compat.py", line 137, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

解决方案请参考:https://yq.aliyun.com/ask/61259/

需要安装gl库,用下面的命令试一下:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


### 解决 `matplotlib.pyplot` 报错方案 #### 设置合适的后端环境 对于在不同操作系统上遇到的 `_tkinter` 模块缺失错误,可以通过更改 Matplotlib 的默认后端来解决问题。具体操作是在导入 `matplotlib.pyplot` 之前指定不依赖于 GUI 的后端,比如 "Agg" 后端: ```python import matplotlib matplotlib.use('Agg') # 使用非交互式的后端 import matplotlib.pyplot as plt ``` 这种方式特别适用于服务器环境或是不需要即时显示图像的情况[^2]。 #### 配置 IDE 环境变量 如果是在 PyCharm 或 IntelliJ IDEA 遇到了绘图窗口无法正常工作的问题,则可能是由于IDE配置引起的。针对这种情况,在 PyCharm 的一个有效措施是调整设置选项Python 科学计算工具行为,即进入 Settings/Preferences 对话框下的 Tools → Python Scientific 页面,并取消勾选 Show plots in tool window 这一选项[^4]。 #### 安装必要的文件 当面临缺少特定模块(如 `_tkinter`)而导致的 ImportError 错误时,确保已经安装了所有必需的支持包是非常重要的。例如,在 Linux 上可能需要额外安装 Tk 及其开发头文件才能正常使用基于Tkinter构建的应用程序界面组件;而在 Windows 和 macOS 下通常这些依赖项会随同 Anaconda 发行版一起提供给用户。 #### 更新或重装 Matplotlib 版本 有时旧版本可能存在兼容性问题或者是 bug 导致的功能失效现象,因此建议尝试升级至最新稳定发行版或者干脆卸载后再重新安装一次最新的 Matplotlib 来排除此类可能性。可以利用 pip 工具来进行上述操作: ```bash pip install --upgrade matplotlib # 或者先移除再安装新版本 pip uninstall matplotlib && pip install matplotlib ``` #### 查看当前使用的 Matplotlib 版本号 为了更好地理解所处的工作环境下运行的是哪个版本的软件以及是否有必要进行更新,可以在命令行里执行下面这段简单的代码片段获取相关信息: ```python import matplotlib print(matplotlib.__version__) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wshzd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值