基於CentOS7安裝Jupyter Notebook
概述
由於我的開發環境是CentOS,現在主要是以Python為主,偶爾夾雜C/C++和GoLang語言。在本地開發、測試、提交git和在生產環境再去測試、開發,並且會在生產環境會有臨時性的開發任務和調整,都是比較浪費時間的。不建議直接修改生產環境的程式碼,臨時性的修改後一定要測試並穩定執行一段時間。 寫這篇部落格主要是為了利用線上資源,實現跨平臺開發和測試程式碼示例用的。所以就在伺服器安裝了IPython,Jupyter和Notebook。
安裝和配置
在安裝IPython,Jupyter和Notebook時,不僅需要安裝Python和Pip,而且還需要安裝一些開發作業系統的工具集比如(‘Development Tools‘)。廢話少說,直接寫程式碼。
基本包安裝
1 2 3 4 |
yum update -y yum install python-pip -y yum install bzip2 -y yum groupinstall "Development Tools" -y |
安裝完pip之後,最好把pip源改為國內源,修改如下:
1 2 3 4 5 6 7 |
mkdir ~/.pip cat > ~/.pip/pip.conf << EOF [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com EOF |
由於伺服器的生產環境的packages較多,版本也不一致,所以需要安裝virtualenv和virtualenvwrapper並配置。
1 2 3 4 5 6 7 8 9 |
pip install virtualenv virtualenvwrapper nano .bashrc或者.bash_profile #設定虛擬獨立python環境目錄 export WORKON_HOME=$HOME/xxxx #設定建立專案的目錄 export PROJECT_HOME=$HOME/xxxx source /usr/local/bin/virtualenvwrapper.sh #退出然後執行如下命令 source .bashrc或者.bash_profile |
現在只需要通過pip安裝IPython,Jupyter和Notebook即可。
1 |
pip install ipython jupyter notebook |
所有需要的安裝現在全部完畢,下面我們來配置使其生效。
配置
我了實現我們自定製設定,我們需要通過如下配置來完成,我們首先要生成一個jupyter的配置檔案。
1 2 |
jupyter notebook --generate-config #生成的config file在/home/user/.jupyter/jupyter_notebook_config.py |
然後我們為了比較安全的訪問伺服器資源,我們需要設定登入密碼和設定https來實現安全登入。如果有條件可以通過安全認證中心來發放祕鑰和認證。首先開啟ipython,生成sha1的密碼,如下:
1 2 3 4 |
from notebook.auth import passwd passwd() #Enter password #output sha1:49acd1a985cc:beb1fb6859665bfa721e65e78fc511c41basdasa. |
然後生成一個自簽名認證的key,如下:
1 |
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout jkey.key -out jcert.pem |
最後如下配置即可:
1 2 3 4 5 6 7 8 |
emacs /home/user/.jupyter/jupyter_notebook_config.py c.NotebookApp.password = 'sha1:<your-sha1-hash-value>' c.NotebookApp.port = 8888 c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.certfile = '/home/user/jcert.pem' c.NotebookApp.keyfile = '/home/user/jkey.key' #儲存退出即可 |
使用
由於jupyter使用的8888作為預設埠,所以我需要把埠給開放並重啟防火牆。通過如下程式碼設定:
1 2 |
firewall-cmd --zone=public --add-port=8888/tcp --permanent systemctl restart firewalld.service |
到這裡所有的安裝和基本的設定都已經完成,直接在命令列輸入:jupyter notebook.就可以使用了。