在jupyter notebook上使用python虛擬環境

jupyter notebook是交互式的Python運行環境,可以把它看做是一張草稿紙,你可以通過它來進行你的思考探索過程,交互式的進行,每一步都能看到結果,也很方便查看之前的結果。它是使用Python或者R做科學計算和數據分析的利器。前幾天有小伙伴問我怎么在jupyter上添加已經創建的Python虛擬環境,為此我也去查了一些資料,很多資料都只是粗略的介紹怎么安裝和使用它。最終還是通過google和自己摸索弄出來了。

我使用的是anaconda,使用它可以讓我們大大減少與Python 一些第三方庫安裝配置環境進行斗爭,比如在windows平臺安裝lxml,如果直接使用pip進行安裝,估計不折騰半天到一天,都不能順利安裝上。使用anaconda,你可以把這些時間拿來做更有意義的事情。使用anaconda的話,安裝第三方庫優先使用conda install xxx,如果提示找不到包,然后再使用pip install xxx,如果pip安裝失敗,則查看它的報錯信息,能用conda install安裝的依賴先用這種方式安裝,最后用pip install安裝。實在還不行,那么在這里下載.whl文件進行安裝。如果還是不行,那么就只有google或者閱讀官方文檔了,自求多福!

上面說了這么多,其實一句話,就是推薦大家使用anaconda。anaconda自帶了jupyter notebook。如果是不是使用的anaconda,那么可以通過

pip install jupyter

安裝jupyter notebook.安裝好過后,在命令終端輸入jupyter notebook,那么在瀏覽器中訪問http://localhost:8888/,就可以看到如下界面

Paste_Image.png

可以看到我這里的運行環境是Python2和Python3,那么怎么添加其它環境呢?先使用conda info -e查看我已有的虛擬環境

Paste_Image.png

現在我想在jupyter中使用名為mjpy27這個內核,怎么辦呢?其實jupyter的ipykernel是使用一個叫kernel.json的文件管理的,mac os 或者linux平臺可以通過

find . -name "kernel.json"

找到該文件的位置。如下圖所示

Paste_Image.png

從圖中我們可以看到差不多有三種類型的位置,要修改哪個位置的json文件才管用呢?眼尖的同學可以看到./Library/Jupyter/kernels/python*/kernel.json這類位置有三個json文件,經過實驗發現需要在在./Library/Jupyter/kernels/目錄下手動創建一個文件夾,然后創建一個名為kernel.json的文件,讓該文件和已有的虛擬環境相關聯,即可使用該虛擬環境。該json文件的內容大概如此:

{
 "display_name": "mjpy27", 
 "language": "python", 
 "argv": [
  "/Users/resolvewang/anaconda3/envs/mjpy27/bin/python", 
  "-m", 
  "ipykernel_launcher", 
  "-f", 
  "{connection_file}"
 ]
}

再看看我們jupyter中的解釋器內核,可以看到mjpy27被添加進去了。

Paste_Image.png

Linux中設置方法大致和mac上相同。windows中的話,kernel.json文件的位置位于

C:\Users\Administrator\AppData\Roaming\jupyter\kernels\python*\kernel.json

目錄下,需要多個虛擬環境,就手動創建多個python文件夾和kernel.json*文件。

上面是從最通用的方法,其實有更加簡單的方法。如果你不想手動修改kernel.json文件的話,可以直接為你想要的環境安裝ipykernel包。即:

conda install -n py27 ipykernel

然后激活這個環境,輸入

python -m ipykernel install --user

這樣就可以在jupyter中使用py27這個環境了。

如果所需版本并不是已有的環境,可以直接在創建環境時便為其預裝ipykernel。

conda create -n py27 python=2.7 ipykernel

不過這兩種方式,只能為Jupyter安裝一個Python2和一個Python3的環境。從上面過程可以看到,我們手動生成kernel.json的時候,可能會創建多個python*(或者其他名字)的文件夾,但是使用上述命令(conda/pip install ipykernel)快捷創建的時候它不會生成除了python2python3以外的文件夾,所以最多只能創建兩個虛擬環境。


除此之外,jupyter notebook還可以遠程運行,為了安全,你可以在遠程訪問的時候為jupyter設置一個密碼,這里就不多講了,因為網上很多資料都寫了,有興趣的可以google一下。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 介紹 任何語言的包,依賴和環境管理:Python,R,Ruby,Lua,Scala,Java,Javascr...
    Himryang閱讀 74,493評論 6 67
  • 本文為《爬著學Python》系列第十三篇文章。 Python能在這幾年火起來,靠的不是網上一大片的爬蟲和服務器后端...
    SyPy閱讀 4,859評論 0 5
  • 1. 介紹 首先讓我們來看看TensorFlow! 但是在我們開始之前,我們先來看看Python API中的Ten...
    JasonJe閱讀 11,807評論 1 32
  • 一天兩天 日復一日 年復一年 沒意思
    離離青青草閱讀 217評論 4 0
  • 其實家家有本難念的經,不回家過年的人不是不想回家,而是回家之后不好說。在外面混的好還好,混的不好都不好意思說。家里...
    強子不小強閱讀 741評論 2 1