matplotlib安装成功,但是import报错
一、本人报错的情况
首先声明:
1.本人安装 matplotlib 确定是成功了的,在命令行窗口下进入 python 环境后,敲 import matplotlib 不会报错, 包含该模块的文件在 pycharm ide 上运行也没有丝毫问题。
2. 本人 pycharm 的 interpreter 是通过 ssh 远程到服务器 conda 的 python 环境。但当我用命令行运行代码文件就会报错。运行如下:
python A.py
或者
nohup python -u A.py > result.out 2>&1 &
报错有(这个问题遇到了多次,每次报错不一样):
1.找不到GLIBCXX_3.4.29
2.找不到matplotlib各种各样的问题
3. …
其中代码文件的调用关系如下:
1.A.py 调用 B.py
2.B.py 文件中有 import matplotlib
现在我们该怎么办呢?按照报错语句吭哧吭哧搜索别人怎么解决的吗?相信我那些处理方法既复杂也可能没有用
1.别人报错的前提可能与你完全不同
2.我们的报错提示可能与真实的问题毫不相干
因为我们总会有希望挂着代码不中断运行的时候,这是无法仅仅依靠 pycharm 实现的
二、解决办法
进行以下两点设置,必须都满足
1.因 A.py 调用B.py, 将 from B import* 写在 A.py 文件的开头
2.因 B.py 需要调用matplotlib模块,将 import matplotlib 或者 import matplotlib.pyplot as plt 写在 B.py 文件的开头
即 B 和 matplotlib 都要作为首个 import 对象
至于为什么会报错,为什么这样能解决,我也是摸索了很久才瞎猫碰上了死耗子,真的是很玄学了。遇到了几次,网上的办法都没有帮我解决问题,最后都是以上步骤解决了问题。
三、gpu 版 pytorch使用过一段时间后,报错显卡驱动版本有问题
这是遇到的另一个玄学问题:
gpu 版 pytorch 安装成功且运行了一段时间后,某天突然报错显卡驱动的版本有问题,尝试了网上说的各种办法解决不了,突然看到某个回答说把服务器重启一下,试了一下还真就好了。
更新一下,下面方法解决“找不到GLIBCXX_3.4.29”的报错问题:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6
您可以检查是否获得了 GLIBCXX 所需的版本,如下所示
strings /usr/lib/x86 64-linux-gnu/libstdc++.so.6grep GLIBCXX