python报错调试

1. python获取上级目录的三种方式

os.path.abspath(os.path.join(projPath,'..')) 
os.path.dirname(os.getcwd())
os.path.split(projPath)[0]

2. ModuleNotFoundError : No module named…

代码在pycharm里可以运行,但是在命令行终端及spyder里运行报错。出现此问题的原因,往往是路径问题。可以将project的路径添加到sys.path中。

sys.path.append(projPath)

如果append不行,可试试insert,将project路径设置为python最先查找的路径。

sys.path.insert(0,projPath)

3. ImportError : DLL load failed

先尝试包更新

import pip 
from subprocess import call
for dst in pip.get_installed_distributions:
	call('pip install --upgrade'+dst.project_name,shell=True)

报错pip无get_installed_distributions属性,尝试下面更新

pip install pip-review
pip-review --local --interactive

更新后,还是报错Import error。经过多次对比和定位,碰巧发现是import keras引发(单从前面的报错信息,完全看不出跟keras有关系,所以只能说是碰巧),最后,单独更新keras解决了问题。所以pip -review并不能保证更新完所有outdated的包?!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章