![](/img/trans.png)
[英]How can I display the version of my Jupyter notebook and run cells in Jupyter notebooks? I get an error: bad interpreter
[英]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"
您也可以在不傳遞任何參數的情況下運行它。
正如其他人所提到的,您可以使用nbconvert
、 papermill
或最新的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.