日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jupyter与PyCharm不可兼得?Jupytext就是你需要的!

發布時間:2024/9/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jupyter与PyCharm不可兼得?Jupytext就是你需要的! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊“小詹學Python”,選擇“置頂”公眾號

重磅干貨,第一時間送達

本文轉載自機器之心,禁二次轉載


Jupyter Notebook 真的是讓人又愛又失望,在有的場景下它極其便利,但是在很多大模型或復雜項目上,它又無能為力。在 Jupytext 這個項目中,作者希望既能利用 Notebook 的可視化優勢,同時也能利用純文本編寫優勢??梢哉f,是時候聯合 Jupyter Notebook 與 PyCharm 了。


  • Jupytext 項目地址:https://github.com/mwouts/jupytext


Jupyter Notebook 哪不行?


Jupyter Notebook 是一款免費、開源的交互式 web 工具。研究人員可以利用該工具將軟件代碼、計算輸出、解釋文本和多媒體資源組合在一個文檔中。筆記本形式的計算已經發展了幾十年,但是過去幾年里,Jupyter 特別受歡迎,更是成為數據科學家和機器學習研究者們的首選工具。


在 GitHub 的一項分析中(Nature,30 OCTOBER 2018)顯示,截至 2018 年 9 月,公開的 Jupyter Notebook 已經超過了 250 萬份,而 2015 年這一數字僅為 20 萬左右。Jupyter Notebook 之所以這么流行,主要還是它的演示和可視化,我們可以查看每一段代碼的輸出與運行效果。


這種可視化對于數據科學和機器學習研究而言非常重要,因為我們需要當前的模型特性做決策。此外,正因為這種直觀的可視化輸出,我們經常使用它作為模型教程,Colab 這種提供免費 GPU 算力的平臺也都采用的是 Jupyter Notebook。


因此總的而言,Jupyter 的主要特點是:


  • 行內代碼執行

  • 簡單的構思結構

  • 對圖片和數據幀的良好展示


但是,Jupyter Notebook 也有不好的地方,我們很難用它做版本控制,也很難用于工程實踐。其中比較重要的是版本控制,Jupyter Notebook 采用的是 JSON 結構,可讀性比較差。而版本控制能讓我們發覺潛在的優秀代碼,我們可以關注代碼的變化而挖掘到底哪些是重要的。


直到現在,版本控制和 Jupyter Notebook 都是兩個世界的人,它們之間基本沒有啥關系。雖然也有一些工作嘗試結合兩者,但成果非常有限,對開發者的使用而言也不友好。


Jupytext 來啦


現在,Jupytext 來啦,我們可以把 Jupyter Notebook 代碼轉化成純文本,用我們最喜歡的 IDE 打開。重要的是,Jupytext 能清楚地查看代碼的修改記錄,從而更好地進行版本控制,這是以前 Jupyter Notebook 所做不到的。這樣的 Jupytext 是不是就是你苦苦追尋的工具?



在上面的視頻中,項目作者展示了如何快速使用 Jupytext,我們可以使用最喜歡的純文本編輯器或 IDE 來編輯 Jupyter Notebook。這樣子,Jupyter Notebook 也能有快飛一般的編寫速度了,因為不論是代碼導航、編輯或執行代碼單元、debug 代碼等等,IDE 都要便捷一些。


當然,如果要使用其它 IDE,Jupyter Notebook 的格式還是要轉換的。目前 Jupytext 能將 Jupyter Notebook 轉換為一下一些格式:


  • Markdown 和 R Markdown 文檔

  • Julia、Python、R、Bash、Scheme、Clojure、Matlab、Octave、C++ 和 q/kdb+ 腳本


如果我們將 Jupyter Notebook 保存為 Python 腳本,那么就可以將 Python 文件導入 Git 倉庫,并追蹤代碼的修改和變化。有意思的是,Python 代碼的修改是在 Jupyter Notebook 中完成的,這在以前是無法直接追蹤的。


更有意思的是,如果我們需要使用 IDE 重構代碼或其它操作,那么可以直接在 PyCharm 中編輯并保存 Python 文件。在刷新 Notebook 后,我們可以繼續在 Jupyter 上便捷更新后的代碼。相當于,Jupyter 和 PyCharm 聯合便捷了~


Jupytext 使用姿勢


Jupytext 的安裝非常簡單,用 pip 或 conda 直接安裝就行了。此外,我們有多種方式使用 Jupytext,以下簡要展示了幾種方式以及使用界面。


直接在 Jupyter Notebook 或 JupyterLab 中使用:Jupytext 提供內容管理器,允許 Jupyter 將 notebook 保存為你喜歡的格式,來補充或替代傳統的.ipynb 文件。你可以在自己喜歡的編輯器中邊界文本表示。編輯完成后,在 Jupyter 中刷新 notebook 即可:輸入單元加載自文本文件,輸出單元重新加載自.ipynb 文件?!杆⑿隆惯@個動作會保存內核變量,這樣你就可以無需重新運行 notebook,在 notebook 中繼續工作、運行修改后的單元。


在命令行中使用:Jupytext 將 Jupyter notebook 轉換為文本表示。命令行工具可以多種方式在 notebook 上運行。它可以同步處理 notebook 的多個表示,將 notebook 輸送至 black 等重新格式化工具中。如果你想在提交.ipynb 文件時自動更新文本表示,它還可以作為 pre-commit hook 使用。


在 Vim 中使用:編輯你的 Jupyter notebook,使用 jupytext.vim 將其表示為 Markdown 文檔或 Python 腳本。


Jupyter Notebook 中的 Jupytext 菜單是這樣的:



在 JupyterLab 中以 Notebook 形式打開 MarkDown 腳本是這個樣子的:



推薦閱讀:

數據結構之動態規劃問題


互動主題:

分享一下你使用的編輯器及原因!


掃碼關注:


總結

以上是生活随笔為你收集整理的Jupyter与PyCharm不可兼得?Jupytext就是你需要的!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。