mlbox ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running


真是巨大的坑,按照網上說的,matplotlib.use('agg'),修改matplotlibrc文件中的backend,plt.switch_backend('Agg'),%matplotlib inline統統失效,包括在啟動Jupyter時設置環境變量export MPLBACKEND=Agg,在運行Reader(sep=',').train_test_spilt(paths, target_name)時,依然會報錯。
之后看了一下報錯的堆棧,在執行這一句時,應該是啟動了新的進程,所以,在jupyter中無論怎么設置maplotlib,在新啟動的進程中,這個設置無法生效,萬般無奈下,按照報錯的其中一個文件python3.8/site-packages/mlbox/prediction/predictor.py,打開一看,瞬間氣暈了,15行開始寫了如下的語句

try:
    matplotlib.use('TkAgg')
except:
    pass

所以,這就難怪會報標題那樣的錯了,把這句話注掉,或者改成matplotlib.use('agg'),重啟kernel,一切完美!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM