Jupyter Notebook調(diào)用指定的虛擬環(huán)境的實現(xiàn)示例
1 問題由來
不久前,jupyter notebook運行時出現(xiàn)了kernel error的問題,于是上網(wǎng)搜索方法,發(fā)現(xiàn)運行如下命令能夠解決問題:
python -m ipykernel install --user
本人Anaconda中自行配置了一個名為data
的虛擬環(huán)境,并在此環(huán)境中安裝了諸多專門的用于數(shù)據(jù)處理的package。
問題來了:
- 某天突然發(fā)現(xiàn),雖然是從指定虛擬環(huán)境進入Notebook,但依舊無法使用
data
中的庫。 - 然而,退出來運行命令
conda list
查詢,可以發(fā)現(xiàn)所有想要的包就好好地躺在里面。
2 發(fā)現(xiàn)原因
知識點:雖然Jupyter Notebook是在data
的虛擬環(huán)境中啟動的(Mac啟動命令為source activate environment_name
)。但是它居然還可能是運行的默認環(huán)境,而不是你指定的虛擬環(huán)境,這就是問題所在。
出現(xiàn)這種問題的原因,可能就是前面命令行將設(shè)置給初始化了之類的(僅猜測)。
運行如下代碼可以查詢目前的Notebook究竟運行的是哪一個虛擬環(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)
此時顯示的是Anaconda的默認虛擬環(huán)境,不是我想要的。
3 解決方法
通過如下命令可以查詢你計算機安裝的所有虛擬環(huán)境:
conda env list >>> # conda environments: >>> # >>> base * /Users/yj/opt/anaconda3 >>> data /Users/yj/opt/anaconda3/envs/data
這里我想要的是data
這個環(huán)境。接下來要做的就是將這個環(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)境可以選擇:
重新查詢運行環(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)
注意第一行多了個data
,第二行python版本也不一樣了。
4 補充
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擴展失效
安裝了ipykernel
包之后,有的小伙伴會出現(xiàn)tab鍵失效的問題,這里是因為jedi
這個包在作怪,把它干掉就好了
pip uninstall jedi --yes
到此這篇關(guān)于Jupyter Notebook調(diào)用指定的虛擬環(huán)境的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Jupyter Notebook調(diào)用指定虛擬環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python八大常見排序算法定義、實現(xiàn)及時間消耗效率分析
這篇文章主要介紹了Python八大常見排序算法定義、實現(xiàn)及時間消耗效率分析,結(jié)合具體實例形式對比分析了冒泡排序、直接插入排序、選擇排序、歸并排序、希爾排序、桶排序、堆排序等排序算法的使用與執(zhí)行效率,需要的朋友可以參考下2018-04-04基于pyinstaller超級加密操作(加殼和轉(zhuǎn)c)
這篇文章主要介紹了基于pyinstaller超級加密操作 (加殼和轉(zhuǎn)c),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03python實現(xiàn)文件分組復(fù)制到不同目錄的例子
這篇文章主要介紹了python實現(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ù)集,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05Python3結(jié)合Dlib實現(xiàn)人臉識別和剪切
本篇文章給大家詳細分析了Python3結(jié)合Dlib實現(xiàn)人臉識別和剪切這個技術(shù),對此有興趣的朋友參考學(xué)習(xí)下。2018-01-01python數(shù)據(jù)分析Numpy庫的常用操作
numpy 是 Python 的一個科學(xué)計算的庫,提供了矩陣運算的功能,其一般與 Scipy、matplotlib 一起使用,這篇文章總結(jié)下python數(shù)據(jù)分析Numpy庫的常用操作,感興趣的朋友一起看看吧2022-01-01