本篇文章為大家展示了如何正確的安裝與使用Jupyter Notebook,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
一、安裝(命令行操作) 如果沒有pip,要安裝pip:
安裝 setuptools
cd /tmp wget https://pypi.python.org/packages/69/56/f0f52281b5175e3d9ca8623dadbc3b684e66350ea9e0006736194b265e99/setuptools-38.2.4.zip#md5=e8e05d4f8162c9341e1089c80f742f64 # 具體下載地址可能變更,請參見官網:https://pypi.python.org/pypi/setuptools#downloads unzip setuptools-38.2.4.zip # 我下載的是 .zip 源碼,所以用 unzip 解壓 cd setuptools-38.2.4/ python setup.py install
再安裝 pip
cd /tmp wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 # 同樣,具體下載地址參考:https://pypi.python.org/pypi/pip#downloads tar zxvf pip-9.0.1.tar.gz # 解壓 cd pip-9.0.1/ python setup.py install
如果想用 python2:
python -m pip install --upgrade pip python -m pip install jupyter
如果報錯:
………………………………
error: command 'gcc' failed with exit status 1
試試:
sudo yum install gcc gcc-c++ python-devel
再運行
如果想用 python3:
python3 -m pip install --upgrade pip python3 -m pip install jupyter
若jupyter 部署在遠程服務器上,服務器防火墻開啟時,端口可能不能訪問,所以加一步端口開放
firewall-cmd --zone=public --add-port=8888/tcp --permanent success systemctl restart firewalld.service
注意:如果是騰訊云等云服務器,可能需要上官網管理平臺,手動配置安全組開放端口才行
然后啟動 jupyter
jupyter notebook --ip=* # root下換成:jupyter notebook --ip=* --allow-root
命令行顯示:
打開瀏覽器,輸入url: localhost:8888,回車,瀏覽器顯示:
注意:在遠程服務器上部署jupyter的要把 localhost 改成對應的 ip 地址
讓你用token登錄,把上面命令行反饋的 token (倒數第二行)復制過來輸入,登錄成功:
上述步驟創建的 jupyter notebook 是臨時性的,沒有配置密碼、SSL、工作目錄等等,不方便也不安全。下面為需要的用戶建立專屬的配置。
注意:下文中的例子在 root 賬戶下進行,建議實際不要用 root 用戶。
如果服務器上你的賬戶下已有默認 jupyter 用戶(的配置文件),可以直接拷貝一份,改個名字,比如:
cd /root/.jupyter cp jupyter_notebook_config.py jupyter_my_config.py
或者,直接自己找個任意目錄,比如 /root/my_configs,直接創建一個新文件作為配置文件(反正就是個文本文件,放哪里都行):
mkdir /root/my_configs cd /root/my_configs touch jupyter_notebook_config.py
再或者,賬戶下未建立默認 jupyter 配置文件的情況下,可以自動生成:
jupyter notebook --generate-config
現在假設我們的配置文件是用最后一種方式創建的,我們進入目錄看看
[root@VM_157_11_centos ~]# cd /root/.jupyter/ [root@VM_157_11_centos .jupyter]# ls jupyter_notebook_config.py [root@VM_157_11_centos .jupyter]#
打開 jupyter_notebook_config.py 文件:
vim jupyter_notebook_config.py
可以看到全是注釋的配置說明,比較復雜,也不是都用得上,這里我們自己寫一些重要的配置即可,在文件開頭寫入:
c = get_config() c.IPKernelApp.pylab = "inline" c.NotebookApp.ip = "*" c.NotebookAPp.open_browser = False c.NotebookApp.password = 'sha1:b39d2445079f:9b9ab99f65150e113265cb99a841a6403aa52647' c.NotebookApp.certfile = u'/root/.jupyter/mycert.pem' c.NotebookApp.port= 8888 c.NotebookApp.notebook_dir = "/root/ipython"
注意1:第五行 password 填入的是<登錄密碼的 sha1 加密版>,通過以下方式生成:
[root@VM_157_11_centos .jupyter]# python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from IPython.lib import passwd >>> passwd() Enter password: Verify password: 'sha1:175e8efe8974:eacef02a2e3f959d6efdf6c93d142c7f4712f5cc' >>> exit() [root@VM_157_11_centos .jupyter]#
注意2:第六行的 certfile 證書文件可以通過下面這行命令生成(中間的交互信息可以隨便填),注意路徑要對應上:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem
注意3:第七行的 port 應該是一個未被占用的、被防火墻允許的端口(在上面的步驟我們已經打開了 8888 端口),這里再強調一遍(同樣的,騰訊云等服務器需要在官網修改安全策略):
firewall-cmd --zone=public --add-port=8888/tcp --permanent success # 系統反饋信息 systemctl restart firewalld.service
注意4:第八行的 notebook_dir 是你的文檔目錄,需要自行選擇并創建(否則運行時會報錯):
mkdir /root/ipython
運行
[root@VM_157_11_centos .jupyter]# jupyter notebook --config jupyter_notebook_config.py --allow-root [I 19:58:54.278 NotebookApp] Serving notebooks from local directory: /root/ipython [I 19:58:54.279 NotebookApp] 0 active kernels [I 19:58:54.279 NotebookApp] The Jupyter Notebook is running at: [I 19:58:54.279 NotebookApp] https://[all ip addresses on your system]:8888/ [I 19:58:54.279 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 19:58:54.279 NotebookApp] No web browser found: could not locate runnable browser.
關于參數:–config 是可選的,默認會用 jupyter_notebook_config.py 文件,如果有多個用戶配置文件(給多個用戶分別提供 jupyter notebook),就必須要用這個命令了。–allow-root 是 root 用戶啟動 jupyter notebook 時的必須參數,實際上不建議使用 root 啟動 jupyter notebook,最好還是用其他用戶啟動,這樣在 瀏覽器端 cmd 窗口就不至于直接暴露 root 權限。
后臺運行: 實際使用的時候我們當然會讓 jupyter notebook 在后臺一直運行著,即使我斷開 ssh 連接之后也要可以通過瀏覽器訪問。那也簡單,用 nohup 命令就可以了:
nohup jupyter notebook --config jupyter_notebook_config.py --allow-root 2>&1 > my.log &
用該命令啟動 jupyter notebook 之后,原先打印在屏幕上行的日志會寫入到 my.log 文本文件中(該文件路徑可以替換,當然完全不想要日志的話也可以重定向到 /dev/null)。
瀏覽器端的 url:https://localhost:8888
注意:localhost 可以替換成 ip/域名; https:// 不能丟,否則你會在服務器日志上看到下面的錯誤:
[W 20:39:48.439 NotebookApp] SSL Error on 10 ('58.59.67.94', 61845): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:579)
[W 20:39:49.869 NotebookApp] SSL Error on 10 ('58.59.67.94', 61849): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:579)
再注意:由于我們生成的 SSL 證書是非正式簽發的,所以Chrome等瀏覽器可能會提示“您的連接不是私密連接”之類的風險問題,這里選“高級” – “繼續前往”就好了。
正常進入主頁
點擊右上角的 New 就可以創建 notebook 文件,然后交互式的寫程序了~
在主頁中,我們可以 單擊 New 然后創建 python 2 和 python 3 的 notebook 文件,但是實際上默認只有一個 python 2 的內核(上面用 python 2 安裝的 jupyter),New 出來的 python 3 notebook 實際上還是 python 2 的,運行一下 “print 123”,不會報錯(python 3 需要 print(123) )。
已有 python 2,安裝 python 3內核:
python -m ipykernel install --user python3 -m pip install -U ipykernel python3 -m ipykernel install --user
這個時候再去主頁,選擇 python 3 時就可以用 python 3 的 kernel 了。
上述內容就是如何正確的安裝與使用Jupyter Notebook,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。