1. 程式人生 > >基於CentOS7安裝Jupyter Notebook

基於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.就可以使用了。