終端能到import模塊 解決jupyter notebook無法導(dǎo)入的問題
這個(gè)問題讓我查了許多天才解決,為了避免后面的人重復(fù)走彎路,記錄下來。
問題描述:
我在ubuntu 下編譯安裝了caffe ,在命令行模式下可以import caffe ,但是在jupyter notebook 中無法import caffe,同樣的 我安裝的pytorch 也遇到了類似的問題。
解決方案:
首先在打開終端,輸入python , 然后import sys,最后執(zhí)行sys.executable 結(jié)果如下圖,路徑是:/home/jack/anaconda2/bin/python
第二 在終端 輸入 jupyter notebook 后,新建一個(gè)ipynb 文件,同樣是 import sys,sys.executable,結(jié)果輸出是:/usr/bin/python 如下圖:
也就是說終端的路徑 與jupyter notebook 的路徑不一致,需要在終端中輸入:
ipython kernelspec list
結(jié)果如下
此時(shí)需要進(jìn)入:/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,然后保存重啟即可。
補(bǔ)充:Mac在終端正常導(dǎo)入的模塊,而在jupyter notebook無法導(dǎo)入的問題
1、在網(wǎng)上搜索了很久,找到了問題的關(guān)鍵,如下:
在jupyter中新建文件輸入如下代碼,查看目前的編譯路徑:
此時(shí)發(fā)現(xiàn) jupyter模式下使用的python編譯路徑與其他模式下的python編譯路徑是不一樣的,這就是為什么無法導(dǎo)入已經(jīng)安裝好的包的原因。
2、出現(xiàn)上述情況的原因
在博客中看到的很多把虛擬環(huán)境添加jupyter中的操作流程如下:
1、在base環(huán)境中安裝ipykernel
pip install ipykernel
2、創(chuàng)建虛擬環(huán)境、同時(shí)添加ipykernel
conda create -n env_name python=3.5 ipykernel
3、切換到虛擬環(huán)境
conda activate env_name
4、將環(huán)境寫入notebook的ipykernel中
python -m ipykernel install --user --name env_name --display-name "在jupyter中顯示的環(huán)境名稱"
上面的安裝過程確實(shí)可以實(shí)現(xiàn)將虛擬環(huán)境加入到j(luò)uyter中,但是由于是在base中安裝的ipykernel,或者忘記激活虛擬環(huán)境,或者由于實(shí)在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)境所在路徑:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- Jupyter Notebook運(yùn)行JavaScript的方法
- 兩行代碼解決Jupyter Notebook中文不能顯示的問題
- 解決jupyter notebook圖片顯示模糊和保存清晰圖片的操作
- Jupyter notebook 輸出部分顯示不全的解決方案
- 解決jupyter notebook啟動(dòng)后沒有token的坑
- Python中Jupyter notebook快捷鍵總結(jié)
- 解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題
- Jupyter Notebook讀入csv文件時(shí)出錯(cuò)的解決方案
- Jupyter notebook 更改文件打開的默認(rèn)路徑操作
相關(guān)文章
PyGame實(shí)現(xiàn)初始化導(dǎo)入所有模塊方法詳解
pygame安裝是為了開發(fā)小游戲,在下新手在經(jīng)過許多嘗試后,為大家避雷,給大家分享一個(gè)簡單有效的方法,下面這篇文章主要給大家介紹了關(guān)于Python中Pygame的詳細(xì)安裝過程的相關(guān)資料,需要的朋友可以參考下2022-11-11關(guān)于pyqt5控件自適應(yīng)窗口超詳細(xì)知識(shí)點(diǎn)匯總
這篇文章主要介紹了關(guān)于pyqt5控件自適應(yīng)窗口超詳細(xì)知識(shí)點(diǎn)匯總,有了布局,再在布局中放置各種控件,我們就能讓控件實(shí)現(xiàn)自適應(yīng)的效果,需要的朋友可以參考下2023-03-03Pandas DataFrame如何按照一列數(shù)據(jù)的特定順序進(jìn)行排序
這篇文章主要介紹了Pandas DataFrame如何按照一列數(shù)據(jù)的特定順序進(jìn)行排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10celery異步定時(shí)任務(wù)訂單定時(shí)回滾
這篇文章主要為大家介紹了celery異步定時(shí)任務(wù)訂單定時(shí)回滾的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Python PyQt5標(biāo)準(zhǔn)對(duì)話框用法示例
這篇文章主要介紹了Python PyQt5標(biāo)準(zhǔn)對(duì)話框用法,結(jié)合實(shí)例形式分析了PyQt5常用的標(biāo)準(zhǔn)對(duì)話框及相關(guān)使用技巧,需要的朋友可以參考下2017-08-08詳解Python實(shí)現(xiàn)圖像分割增強(qiáng)的兩種方法
圖像分割就是把圖像分成若干個(gè)特定的、具有獨(dú)特性質(zhì)的區(qū)域并提出感興趣目標(biāo)的技術(shù)和過程。本文將為大家分享兩個(gè)用Python實(shí)現(xiàn)像分割增強(qiáng)的方法,需要的可以參考一下2022-03-03