在jupyter notebook中導入庫失敗No module named "xxx"但在命令行中可以導入的問題

有時,在安裝完jupyter notebook後,會出現明明已安裝xxx庫,卻無法import的問題,提示No module named xxx。而在命令行的python中,卻可以進行import。原因是jupyter notebook使用的pythonpath是系統默認python path,而不是命令行中的,比如anaconda的,python path。

我們可以通過在兩個環境中,分別

import sys
print(sys.path)

來查看格子的python path的路徑

解決辦法很簡單,一次性的解決辦法只需要把需要import的包的路徑導入到本notebook的sys path裏即可。
如在jupyter notebook 中,

import sys
sys.path.append('your/lib/path')

如果想一勞永逸的將它添加進jupyter的python path中,修改~/.bashrc即可,在~/.bashrc後加入新的環境變量PYTHONPATH,如:

export PYTHONPATH="your/lib/path:your/second/lib/path:"$PYTHONPATH"

如果這樣jupyter notebook報錯,或仍不能導入,那有可能你jupyter使用的python和命令行中的python不是一個版本,也就意味着你很可能在不同的python環境中安裝了不同版本的jupyter notebook。
可以使用

import sys
print(sys.executable)

分別查看兩者,如果是不一樣的,可以使用which python在命令行中找到你所用的python版本,安裝起對應的jupyter,如:

/home/your_user_name/anaconda3/envs/bin/python -m pip install ipykernel

如果不能解決問題,建議查看我的另一篇文章https://mpnew.csdn.net/console/editor/html/104286420,卸載所有版本的jupyter並在你使用的python環境中重裝jupyter notebook。

發佈了9 篇原創文章 · 獲贊 2 · 訪問量 1355
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章