這個問題讓我查了許多天才解決,為了避免后面的人重復(fù)走彎路,記錄下來。
問題描述:
我在ubuntu 下編譯安裝了caffe ,在命令行模式下可以import caffe ,但是在jupyter notebook 中無法import caffe,同樣的 我安裝的pytorch 也遇到了類似的問題。
解決方案:
首先在打開終端,輸入python , 然后import sys,最后執(zhí)行sys.executable 結(jié)果如下圖,路徑是:/home/jack/anaconda2/bin/python
第二 在終端 輸入 jupyter notebook 后,新建一個ipynb 文件,同樣是 import sys,sys.executable,結(jié)果輸出是:/usr/bin/python 如下圖:
也就是說終端的路徑 與jupyter notebook 的路徑不一致,需要在終端中輸入:
結(jié)果如下
此時需要進入:/home/jack/.local/share/jupyter/kernels/python2/ 路徑在修改 kernel.json 文件將
{
"display_name": "Python 2",
"language": "python",
"argv": [
"/usr/bin/python", % 修改為 :/home/jack/anaconda2/bin/python
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
]
}
文件中的 /usr/bin/python 修改 為/home/jack/anaconda2/bin/python,然后保存重啟即可。
補充:Mac在終端正常導(dǎo)入的模塊,而在jupyter notebook無法導(dǎo)入的問題
1、在網(wǎng)上搜索了很久,找到了問題的關(guān)鍵,如下:
在jupyter中新建文件輸入如下代碼,查看目前的編譯路徑:
此時發(fā)現(xiàn) jupyter模式下使用的python編譯路徑與其他模式下的python編譯路徑是不一樣的,這就是為什么無法導(dǎo)入已經(jīng)安裝好的包的原因。
2、出現(xiàn)上述情況的原因
在博客中看到的很多把虛擬環(huán)境添加jupyter中的操作流程如下:
1、在base環(huán)境中安裝ipykernel
2、創(chuàng)建虛擬環(huán)境、同時添加ipykernel
conda create -n env_name python=3.5 ipykernel
3、切換到虛擬環(huán)境
4、將環(huán)境寫入notebook的ipykernel中
python -m ipykernel install --user --name env_name --display-name "在jupyter中顯示的環(huán)境名稱"
上面的安裝過程確實可以實現(xiàn)將虛擬環(huán)境加入到j(luò)uyter中,但是由于是在base中安裝的ipykernel,或者忘記激活虛擬環(huán)境,或者由于實在base中安裝的ipykernel,導(dǎo)致無法在激活的虛擬環(huán)境中使用 -m ipykernel,很多人直接在base中執(zhí)行命令4,導(dǎo)致加入到j(luò)upyter的虛擬環(huán)境的python編譯器使用的是base的,因此導(dǎo)致了上述問題。
解決辦法
直接切換至虛擬環(huán)境(命令如上),安裝ipykernel后,再執(zhí)行命令4,結(jié)果如圖所示,可以看到編譯路徑已經(jīng)切換至虛擬環(huán)境所在路徑:
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Jupyter Notebook運行JavaScript的方法
- 兩行代碼解決Jupyter Notebook中文不能顯示的問題
- 解決jupyter notebook圖片顯示模糊和保存清晰圖片的操作
- Jupyter notebook 輸出部分顯示不全的解決方案
- 解決jupyter notebook啟動后沒有token的坑
- Python中Jupyter notebook快捷鍵總結(jié)
- 解決Jupyter-notebook不彈出默認瀏覽器的問題
- Jupyter Notebook讀入csv文件時出錯的解決方案
- Jupyter notebook 更改文件打開的默認路徑操作