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的包?!

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