亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

PyCharm 集成 Jupyter Notebook

上一節介紹了 PyCharm 在科學計算方面支持的功能,其中也提到了PyCharm 集成了 Jupyter 。本節將主要介紹如何在 PyCharm 使用 Jupyter Notebook 相關功能。

1. Jupyter Notebook

Jupyter項目是一個非盈利的開源項目,源于 2014 年的 ipython 項目,支持運行 40 多種編程語言。
Jupyter Notebook 的本質是一個 Web 應用程序,便于創建和共享程序文檔,支持實時代碼,數學方程,可視化和 markdown。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等等?;谒猛镜膹V泛性, 它現在是非常流行的開發工具。

在 PyCharm 內, 可以輕松地編輯、執行和調試 Jupyter Notebook 源代碼,并檢查執行輸出,包括流數據、圖像等等。

2. 在 PyCharm 編輯 Jupyter Notebook 文件

step1: 創建新的 Python 項目,指定虛擬環境,并安裝 jupyter 包。
圖片描述
step2: 在 “Project” 工具欄的上下文菜單里選擇 New -> Jupyter Notebook, 在彈出窗口中輸入文件名。
圖片描述
step3: 擴展名為 .ipynb 文件被創建, 下面的編輯窗口將顯示。
圖片描述
step4: Jupyter 是個WEB應用,點擊黃色燈泡按鈕,在菜單中選擇 Start Jupyter Server。
圖片描述
點擊日志中的鏈接,瀏覽器顯示如下:
圖片描述
Jupyter Notebook 編輯頁面如下,可直接在該頁面編輯文件,具體如何使用不是本課程內容,具體請參考Jupyter 官方文檔
圖片描述

step5: 回到PyCharm編輯文件。Notebook file 是由一個個cell構成的,有三種類型 code、raw 與markdown cell。(cell: 一對In Out會話被視作一個代碼單元, 每個代碼單元可以單獨執行)
圖片描述

Tips: 在編輯Python Code Cell 時,相應的代碼補全,語法高亮顯示,錯誤信息提示及快速修復等等功能與編輯標準的Python文件一樣都是支持的。

編輯完成以后,我們刷新一下對應的瀏覽器頁面,PyCharm 內編輯的內容已經同步更新了。
圖片描述

3. 運行與調試 Code Cell

3.1 運行 Code Cell

文件創建完成以后,在 PyCharm 里可以直接運行了。PyCharm 提供了多種運行方式,既可以單獨運行一個 Cell, 也可以一次全部運行。不僅可以在同一頁面查看運行結果,還可以查看變量詳情。
圖片描述
此時,我們刷新一下對應的瀏覽器頁面,運行 Cell 生成的圖表也顯示出來了。
圖片描述
除此以外, 點擊工具欄中 黃色燈泡圖標,在菜單中選擇其它的運行方式:

  • Run Cell:執行當前 Cell;
  • Run All Above:執行當前與當前 Cell 上面的所有 Cell;
  • Run All Below:執行當前與當前 Cell 后面的所有 Cell;
  • Run Cell and Select Below:執行當前Cell, 并導航到下一個Cell;
  • Debug Cell:開始調試Cell。
    圖片描述

Tips: 如果想清除預覽窗口中所有輸出,請點擊上面的菜單中的 Clear Outputs。

在執行過程中,要注意 Cell 之間的依賴關系,比如當前 Cell 代碼調用了前一個 Cell 的變量,在執行當前Cell 以前,要先執行前面的Cell, 否則會報錯。

圖片描述

3.2 調試

在 Code Cell 中設置斷點,點擊綠色箭頭圖標,然后選擇"Debug Cell"。過程與調試標準的Python 是沒實質性區別的。
圖片描述

Tips: 如果 當前 Cell 從任何其它 Cell 調用函數,至少要保證函數所在的 Cell 是被 Run過的,如果想單步執行該函數, 需要函數所在的Cell 是被 Debug 過,而不僅僅是 Run 過,這樣函數內相關的斷點才工作。

圖片描述

4. Jupyter Server 管理

4. 1 啟動與關閉服務

前面提到通過點擊工具欄 黃色燈泡 圖標,在彈出菜單中選擇 Start Jupyter Server啟動服務。實際上要運行 Jupyter 服務器,只需執行任何 Cell 就可以了。當啟動 Cell 執行時,PyCharm 使用任何可用端口(默認 8888 端口)在本地主機上啟動 Jupyter 服務器。Jupyter 工具窗口會自動打開。
圖片描述
Tips: 可以通過 Jupyter 工具窗口中的停止按鈕關閉服務,也可以點擊工具欄 黃色燈泡 圖標,在彈出菜單中選擇 Stop Jupyter Server。

4.2 配置 Server

當啟動任何托管服務器時,默認情況下它使用當前項目解釋器和自動選擇的端口。實際上可以選擇 PyCharm 實例中可用的任何其他解釋器,并指定備用端口。也可以使用其它已知 jupyter 服務器的 URL 和 Token,連接到該服務器。

step1: 在 Jupyter 服務器列表中選擇"Configure Jupyter Server", 打開服務器設置。
圖片描述
step2: 配置服務器
要自定義默認的 Jupyter 服務器,請在 Jupyter 服務器對話框中選擇 Use Managed Server (托管服務器),從 Python 解釋器列表中選擇任何本地 Python 解釋器。
圖片描述
更改自動檢測到的端口,在"port"字段中鍵入其編號。
圖片描述
除此以外,也可以連接到任何正在運行的 Jupyter 服務器,請在 Jupyter 服務器對話框中選擇"Configured Server"并指定服務器的路徑,比如: 在本地命令行終端啟動一個 Jupyter server 。
圖片描述
拷貝上面的鏈接到下面的輸入框中,包括 url 與 token。
圖片描述
step3: 點擊 ok, 然后,切換到配置的服務器,在工具欄中的服務器列表中選擇"Switch to current Jupyter Server"。
圖片描述
step4: 執行代碼后, 可能會遇到下面的信息“新配置的服務器的內核與當前項目解釋器不匹配”
圖片描述
單擊相應的鏈接Register project interpreter as kernel(將項目解釋器注冊為配置服務器上的內核)。然后可以在配置的服務器的內核列表中看到它,就可以正常運行 Cell 了。
圖片描述

5. 共享 Jupyter Notebooks

PyCharm 通過 Datalore Plugin 實現對 Jupyter Notebooks 的共享。Datalore 是用于數據分析的智能 Web 應用程序。

圖片描述
step1: 共享 Notebook, 需要上傳文件到 Datalore, 點擊工具欄上的 “Upload to Jetbrain Datalore” 按鈕。
圖片描述
step2: 如果第一次訪問 Datalore,系統將要求登錄 Datalore 應用程序。
圖片描述
step3: 點擊 Continue, 使用Datalore 帳戶登錄, 也可以使用Google 帳戶或者Jetbrain 帳戶登錄。
圖片描述

Tips: 有時候申請 Datalore 新帳戶會長時間收不到驗證郵件,這時可以申請JetBrains 帳戶,然后用該帳戶登錄。

step4: Datalore 會顯示為你的帳戶生成的 API Token。單擊"Confirm"繼續
圖片描述

Tips: 上面的 Token 是保存在 PyCharm/File -> Preference/Settings -> Tools -> Datalore, 隨時都可以注銷,注銷后再需要上傳文件需要重新登錄。

圖片描述
step5:確認 token 信息后,會顯示 Upload Notebook 窗口:
圖片描述
step6: 上傳成功后,你會在你的 Datalore 帳戶下看到上傳的文件, 打開它。
圖片描述
step7:在打開頁面點擊 Share 按鈕,生成共享鏈接,其它人就可以通過這個鏈接訪問上傳的
Notebook file 了。
圖片描述

step8:回到 PyCharm 編輯器,再次點擊工具欄上的 “Upload to Jetbrain Datalore” 按鈕。會出現帶有下面4個選項的菜單。如果不想共享文件了,也可以點擊 Manage Access Rights 修改訪問權限

圖片描述

在"Share Settings “對話框中,單擊"關閉公共鏈接共享” 就可以關閉共享了。

圖片描述

6. 小結

本節主要講述在 PyCharm 里如何編輯、運行與調試,以及共享 Jupyter Notebook 文件,為了更好應用相關的功能,需要對 Jupyter 與 Datalore 這些軟件多一些了解,建議多看一下官方文檔。

圖片描述