簡體   English   中英

"我可以在命令行中運行 Jupyter 筆記本單元格嗎?"

[英]Can I run Jupyter notebook cells in commandline?

我正在部署一個 Python 包,我想運行一個簡單的測試,看看我的筆記本中的所有單元是否都能正常運行。 我想通過命令行對此進行測試,因為我在virtualenv中運行筆記本時遇到問題。 有沒有簡單的命令行方法來測試這個?


主持人注意:此問題已被標記為如何從終端運行 .ipynb Jupyter Notebook? . 但是,這個問題是在那個問題前幾天發布的(2016 年 2 月 18 日 2:49 提問)(2016 年 2 月 22 日 3:35 提問)。 最多,該帖子可能會被標記為重復,如果認為是這樣,適當的操作是合並這兩個問題,將原始問題保持為 master

但是,這些問題可能不會重復(其他作者的意圖不清楚)。 無論如何,這個問題及其答案專門針對從終端執行 jupyter 筆記本中的單元格,而不是簡單地將筆記本轉換為 python 文件。

nbconvert (用於筆記本轉換的 jupyter 工具)允許您在沒有任何額外包的情況下執行此操作:

只需轉到您的終端並輸入

$ jupyter nbconvert --to notebook --inplace --execute mynotebook.ipynb

來源

(感謝 Stephan 建議使用--inplace標志)

您可以使用runipy來執行此操作。

runipy將運行筆記本中的所有單元格。 如果發生錯誤,該過程將停止。

$ pip install runipy

$ runipy MyNotebook.ipynb

還有一些命令可以將輸出文件保存為筆記本或 html 報告:

$ runipy MyNotebook.ipynb OutputNotebook.ipynb

$ runipy MyNotebook.ipynb --html report.html

您還可以嘗試紙廠,它允許您從命令行執行筆記本,還可以傳遞參數:

例如:

$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"

您也可以在不傳遞任何參數的情況下運行它。

正如其他人所提到的,您可以使用nbconvertpapermill或最新的jupyter run 但是,它們不適合您希望將邏輯分解為多個步驟的大型項目。

Ploomber允許您構建管道,其中每個任務都可以是筆記本、腳本或函數。 執行后,每個任務都會生成一個輸出筆記本,您可以使用它來查看結果:

這是它的樣子:

tasks:
  # also works with .ipynb
  - source: 1-get.py
    product:
      nb: output/1-get.ipynb
      data: output/data.csv
    
  - source: 2-clean.py
    product:
      nb: output/2-clean.ipynb
      data: output/clean.csv
    
  - source: 3-plot.py
    product: output/3-plot.ipynb

要執行工作流:

ploomber build

假設您有一個requirements.txt ,它還可以自動設置 virtualenv :

ploomber install

ploomber build

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM