# ModuleNotFoundError:No module named ‘xxx’
问题:通过Import xxx
引入同目录自定义模块xxx
时报错,提示找不到这个模块。
原因:python对于模块的引用,是搜索若干路径的,如果你的name.py不在当前目录或sys.path
所包含的目录,则无法找到。
解决:将所引入模块所在的目录地址添加到sys.path中去,比如你引入存储与/home/jack/lib
下的自定义a.py
,可以这么写:
import sys
sys.path.append('/home/jack/lib')
import a
# RuntimeError: Invalid DISPLAY variable
问题:Python版本是3.6.3的,在Windows
下使用matplotlib
绘图可以,但是在ssh远程绘图的时候报错了,错误是:RuntimeError: Invalid DISPLAY variable
。
原因:matplotlib
的默认backend
是TkAgg
,而FltAgg
、GTK
、GTKCairo
、TkAgg
、Wx
和WxAgg
这几个backend
都要求有GUI
图形界面,所以在ssh操作的时候会报错。
解决:在导入matplotlib
的时候指定不需要GUI
的backend
(Agg
、Cairo
、PS
、PDF
和SVG
),可以这么写:
import matplotlib.pyplot as plt
plt.switch_backend('agg')
# ModuleNotFoundError:No module named ‘ConfigParser’
问题:引入Python自带的ConfigParser
时报错,提示不存在~
原因:在 Python 3.x 版本后,ConfigParser.py 已经更名为 configparser.py 所以出错
解决:Import的时候将ConfigParser修改为configparser,注意代码中的方法名不需要修改!
# ModuleNotFoundError: No module named ‘lmdb’
问题:conda install -n yourenv lmdb以后还是找不到lmdb
原因:不知道为啥
解决:通过pip安装就能找到了,但是安装过程中注意切换为国内镜像源:
pip install lmdb -i https://pypi.tuna.tsinghua.edu.cn/simple