設置jupyter可啓動python2或python3作爲kernel

(作者:小白白白又白cdllp,data-master.net
很多時候,雖然我們習慣用某個版本的python,但可能需要使用的python版本會發生改變,比如我們在合作方的機器環境下使用python時,或者拿到一份其他版本的python代碼但又沒時間改代碼時。

那麼最方便的方法還是,我們讓python2和python3並存,我們可以選擇使用哪個版本。

1. 安裝python2和python3環境

實現這個目標的前提,就是我們本機需要同時有python2和python3的環境,所以我們需要同時安裝python2和python3,或者同時安裝python2版本的anaconda和python3版本的anaconda,安裝兩個版本的anaconda的前提是你的機器存儲夠大。

2. 啓動兩個版本的jupyter

第二步就需要啓動兩個版本的jupyter,如果是安裝的anaconda,那麼jupyter就已經裝好了的。如果是安裝的python包,還需要自己額外安裝一下jupyter。

nohup /usr/local/anaconda3/bin/jupyter-notebook &
nohup /usr/local/anaconda2/bin/jupyter-notebook &

分別啓動python2和python3的jupyter(我這裏好像只啓動了python2,但系統裏默認啓動了python2的,所以2和3的都有);

3. 啓動的異常情況

我當時碰到了這麼個問題,就是執行了後臺啓動python3版本的jupyter,
nohup /usr/local/anaconda3/bin/jupyter-notebook &
也設置了c.NotebookApp.open_browser = True(這個屬性是在jupyter配置文件中的,意思是可以在瀏覽器中打開jupyter),但是後臺打不開python3的jupyter。

於是嘗試直接在前端啓動jupyter,不加nohup和&即可,不在後臺啓動,方便發現報錯。
在這裏插入圖片描述
果然報錯:
ModuleNotFoundError: No module named 'jupyter_nbextensions_configurator'

於是乎,查看怎麼改掉錯誤,其實就是缺包,參考的這篇文章:https://blog.csdn.net/lbj1260200629/article/details/103302287,執行 python3.7 -m pip install jupyter_contrib_nbextensions安裝,重新啓動jupyter,前端啓動不報錯就可以再執行上一步在後臺啓動的那句命令了。

此外,爲了以防萬一,還設置了配置文件中的這個部分:

## A class for managing multiple kernels.

## The name of the default kernel to start
c.MultiKernelManager.default_kernel_name = 'python3.6'

## The kernel manager class.  This is configurable to allow subclassing of the
#  KernelManager for customized behavior.
c.MultiKernelManager.kernel_manager_class = 'jupyter_client.ioloop.IOLoopKernelManager'

我理解的註釋的意思就是,jupyter允許多種內核存在,並且設置默認內核版本爲python3.6

然後就成功啦。成功之後打開jupyter就如下圖了:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章