最近剛好有用戶(hù)需要我們提供jupyter notebook 給其使用。因此就有了這篇在Linux Server(RedHat) 下安裝jupyter notebook的內(nèi)容。本文將集中在一下幾個(gè)方面:
1. 為什么在 anaconda 虛擬環(huán)境中安裝 jupyter notebook
2. 在anacaonda 安裝jupter noebook的主要步驟
3. 安裝過(guò)程中遇到的一些問(wèn)題
4. 其他
一、為什么在anaconda 虛擬環(huán)境中安裝jupyter notebook
anacoanda 因?yàn)榫哂袆?chuàng)建虛擬環(huán)境的功能,虛擬環(huán)境之間可以相互隔離。使用anaconda 可以節(jié)約安裝jupyter notebook時(shí)間成本,降低解決各種環(huán)境問(wèn)題的復(fù)雜度。
二、在anacaonda 安裝jupter notebook的主要步驟
1. activate conda env
激活你想要安裝jupter notebook的anaconda 環(huán)境,假設(shè)你的虛擬環(huán)境名字為erictech (我用的python 3.6),則輸入以下命令
source activate?erictech
2. install jupyter package
安裝jupter package,這里使用conda install 安裝(之前嘗試使用pip 安裝時(shí)遇到了一些問(wèn)題,用conda安裝則比較順利)
conda install jupyter
安裝完畢后,可以看到j(luò)upyter 和notebook相關(guān)的包都已經(jīng)安裝進(jìn)去了。
3. 創(chuàng)建jupyter notebook 配置文件
jupyter notebook --generate-config
該命令在你的用戶(hù)目錄下生成一個(gè)jupyter notebook的配置文件,文件名稱(chēng)是jupyter_notebook_config.py,通過(guò)修改該文件,可以實(shí)現(xiàn)服務(wù)端啟動(dòng)jupyter notebook,然后在用戶(hù)機(jī)器上使用瀏覽器訪問(wèn)。
4. 修改配置文件已使其能遠(yuǎn)程訪問(wèn)
找到配置文件jupyter_notebook_config.py, 并修改以下四個(gè)個(gè)變量
···
c.NotebookApp.ip = '*' #表示你需要遠(yuǎn)程訪問(wèn),不做ip限制
c.NotebookApp.open_browser = False #不打開(kāi)瀏覽器
c.NotebookApp.port = 5000?#juypter notebook的服務(wù)端口
c.NotebookApp.password?= password #你指定的password,需要是加密的,請(qǐng)參考下面方式設(shè)置
···
密碼按照下面的方式進(jìn)行設(shè)置
# setting up the password
from IPython.lib
import passwd?
password = passwd("your_secret_password")
c.NotebookApp.password = password
5. 啟動(dòng) jupyter notebook
輸入下面命令啟動(dòng)jupyter notebook,
jupyter notebook
這里的jupyter notebook如果是第一次安裝,可能會(huì)遇到一個(gè)下面的錯(cuò)誤ImportError: cannot import name constants具體解決方法請(qǐng)見(jiàn)第三節(jié)的問(wèn)題一.
啟動(dòng)完畢后,即可以在用戶(hù)電腦上,使用瀏覽器通過(guò)服務(wù)器IP+你設(shè)置的端口,訪問(wèn)了(啟動(dòng)jupyter notebook后,打出的日志里也會(huì)有訪問(wèn)鏈接)。
訪問(wèn)的時(shí)候,需要輸入你的密碼,如果是上面的配置,那你輸入的密碼為:?your_secret_password
三、安裝過(guò)程中遇到的一些問(wèn)題及高級(jí)配置
問(wèn)題一: 第一次安裝完jupyter notebook ,使用jupyter notebook 報(bào)錯(cuò)
ImportError: cannot import name constants
解決方案一(我試了有用的方案)
pip3 install --upgrade pyzmq jupyterlab jupyter --force-reinstall
解決方案二(沒(méi)有驗(yàn)證)
pip3 uninstall pyzmq
pip3 install pyzmq
問(wèn)題二:遇到Jupyter Notebook Server password invalid?的錯(cuò)誤
這個(gè)問(wèn)題發(fā)生在使用ipython生成加密密碼的過(guò)程中,大概是如下文的輸入,但是生成的密碼不是以sha開(kāi)頭的,最后不可用。
ipython
from notebook.auth import passwd
In [1]: from notebook.auth import passwd??
In[2]: passwd()?
Enter password:?
Verify password:
Out[2]: 就有你的sha開(kāi)頭的一個(gè)密碼
然后通過(guò)把python 生成密碼的邏輯寫(xiě)到配置文件中,解決了問(wèn)題。
# setting up the password
from IPython.lib
import passwd?
password = passwd("your_secret_password")c.NotebookApp.password = password
問(wèn)題三 false配置文件識(shí)別問(wèn)題
配置時(shí),需要注意大小寫(xiě),false并不是配置文件可以識(shí)別的一個(gè)關(guān)鍵字,需要使用False, 如下圖所示
c.NotebookApp.open_browser = False
問(wèn)題四 如何將 anaconda 的虛擬環(huán)境 添加到j(luò)upyter notebook 的kernel 選項(xiàng)中
首先在裝了jupyter notebook 的 anaconda 虛擬環(huán)境中,安裝下面的包
conda install nb_conda_kernels
在你想要顯示在jupyter notebook中的 anaconda 虛擬環(huán)境中,安裝下面的包(安裝前,請(qǐng)先激活對(duì)應(yīng)環(huán)境)
conda install ipykernel
執(zhí)行完上面步驟后,重新激活安裝jupyter notebook的環(huán)境,并啟動(dòng)jupyter notebook, 就可以在kenel 列表中看到你想要的kenel了
問(wèn)題五 如何制定配置文件
對(duì)應(yīng)不同環(huán)境的部署,我們會(huì)需要一個(gè)固定的路徑去存放我們的配置文件,這樣才不會(huì)因?yàn)椴煌脩?hù)導(dǎo)致我們配置文件無(wú)法讀取到。
可以使用--config 參數(shù)來(lái)啟動(dòng)jupyter notebook ,如下
jupyter notebook --config=/your_path/jupyter_notebook_config.py
結(jié)尾
如果這篇有幫到你,歡迎關(guān)注我