Jupyter Notebook調(diào)用指定的虛擬環(huán)境的實(shí)現(xiàn)示例
1 問題由來
不久前,jupyter notebook運(yùn)行時(shí)出現(xiàn)了kernel error的問題,于是上網(wǎng)搜索方法,發(fā)現(xiàn)運(yùn)行如下命令能夠解決問題:
python -m ipykernel install --user
本人Anaconda中自行配置了一個(gè)名為data
的虛擬環(huán)境,并在此環(huán)境中安裝了諸多專門的用于數(shù)據(jù)處理的package。
問題來了:
- 某天突然發(fā)現(xiàn),雖然是從指定虛擬環(huán)境進(jìn)入Notebook,但依舊無法使用
data
中的庫(kù)。 - 然而,退出來運(yùn)行命令
conda list
查詢,可以發(fā)現(xiàn)所有想要的包就好好地躺在里面。
2 發(fā)現(xiàn)原因
知識(shí)點(diǎn):雖然Jupyter Notebook是在data
的虛擬環(huán)境中啟動(dòng)的(Mac啟動(dòng)命令為source activate environment_name
)。但是它居然還可能是運(yùn)行的默認(rèn)環(huán)境,而不是你指定的虛擬環(huán)境,這就是問題所在。
出現(xiàn)這種問題的原因,可能就是前面命令行將設(shè)置給初始化了之類的(僅猜測(cè))。
運(yùn)行如下代碼可以查詢目前的Notebook究竟運(yùn)行的是哪一個(gè)虛擬環(huán)境:
import os, sys print(sys.executable) # works this time print(sys.version) print(sys.version_info)
輸出結(jié)果如下:
>>> /Users/yj/opt/anaconda3/bin/python
>>> 3.7.4 (default, Aug 13 2019, 15:17:50)
[Clang 4.0.1 (tags/RELEASE_401/final)]
>>> sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0)
此時(shí)顯示的是Anaconda的默認(rèn)虛擬環(huán)境,不是我想要的。
3 解決方法
通過如下命令可以查詢你計(jì)算機(jī)安裝的所有虛擬環(huán)境:
conda env list >>> # conda environments: >>> # >>> base * /Users/yj/opt/anaconda3 >>> data /Users/yj/opt/anaconda3/envs/data
這里我想要的是data
這個(gè)環(huán)境。接下來要做的就是將這個(gè)環(huán)境加入到Jupyter Notebook的Kernel中。代碼及說明如下:
# 第一步,切換到想要添加的虛擬環(huán)境: conda activate data # 第二步,安裝ipykernel包 conda install ipykernel # 第三部,執(zhí)行如下命令,并確定環(huán)境的名稱(此處設(shè)置為data) python -m ipykernel install --name data
務(wù)必注意第1步必不可少。重啟Notebook,可以看到已經(jīng)有新的環(huán)境可以選擇:
重新查詢運(yùn)行環(huán)境,發(fā)現(xiàn)已經(jīng)更改為自己想要的虛擬環(huán)境,終于又重新可以調(diào)用要用的包了。
>>> /Users/yj/opt/anaconda3/envs/data/bin/python >>> 3.7.5 (default, Oct 25 2019, 10:52:18) [Clang 4.0.1 (tags/RELEASE_401/final)] >>> sys.version_info(major=3, minor=7, micro=5, releaselevel='final', serial=0)
注意第一行多了個(gè)data
,第二行python版本也不一樣了。
4 補(bǔ)充
4.1 異常處理
執(zhí)行python -m ipykernel install --name data
后,出現(xiàn)[Errno 13] Permission denied: '/usr/local/share'
,則可以將名利修改為:
python -m ipykernel install --user --name data
顯示成功,撒花慶祝
4.2 Notebook的tab擴(kuò)展失效
安裝了ipykernel
包之后,有的小伙伴會(huì)出現(xiàn)tab鍵失效的問題,這里是因?yàn)?code>jedi這個(gè)包在作怪,把它干掉就好了
pip uninstall jedi --yes
到此這篇關(guān)于Jupyter Notebook調(diào)用指定的虛擬環(huán)境的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Jupyter Notebook調(diào)用指定虛擬環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python幫你解決手機(jī)qq微信內(nèi)存占用太多問題
你有沒有發(fā)現(xiàn)以前16G內(nèi)存也可以裝幾個(gè)游戲玩,現(xiàn)在128G的卻日常使用都不夠了?更不用說裝什么游戲,這其實(shí)是軟件內(nèi)存占用過多導(dǎo)致的,今天我們用python來清理下2022-02-02Python八大常見排序算法定義、實(shí)現(xiàn)及時(shí)間消耗效率分析
這篇文章主要介紹了Python八大常見排序算法定義、實(shí)現(xiàn)及時(shí)間消耗效率分析,結(jié)合具體實(shí)例形式對(duì)比分析了冒泡排序、直接插入排序、選擇排序、歸并排序、希爾排序、桶排序、堆排序等排序算法的使用與執(zhí)行效率,需要的朋友可以參考下2018-04-04基于pyinstaller超級(jí)加密操作(加殼和轉(zhuǎn)c)
這篇文章主要介紹了基于pyinstaller超級(jí)加密操作 (加殼和轉(zhuǎn)c),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03python實(shí)現(xiàn)文件分組復(fù)制到不同目錄的例子
這篇文章主要介紹了python實(shí)現(xiàn)文件按組復(fù)制到不同目錄的例子,需要的朋友可以參考下2014-06-06python神經(jīng)網(wǎng)絡(luò)AlexNet分類模型訓(xùn)練貓狗數(shù)據(jù)集
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)AlexNet分類模型訓(xùn)練貓狗數(shù)據(jù)集,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python 普通最小二乘法(OLS)進(jìn)行多項(xiàng)式擬合的方法
今天小編就為大家分享一篇Python 普通最小二乘法(OLS)進(jìn)行多項(xiàng)式擬合的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python3結(jié)合Dlib實(shí)現(xiàn)人臉識(shí)別和剪切
本篇文章給大家詳細(xì)分析了Python3結(jié)合Dlib實(shí)現(xiàn)人臉識(shí)別和剪切這個(gè)技術(shù),對(duì)此有興趣的朋友參考學(xué)習(xí)下。2018-01-01python數(shù)據(jù)分析Numpy庫(kù)的常用操作
numpy 是 Python 的一個(gè)科學(xué)計(jì)算的庫(kù),提供了矩陣運(yùn)算的功能,其一般與 Scipy、matplotlib 一起使用,這篇文章總結(jié)下python數(shù)據(jù)分析Numpy庫(kù)的常用操作,感興趣的朋友一起看看吧2022-01-01