在我的旧电脑上,我可以从Jupyter Notebook运行.py文件、编辑它们并运行它们。对于所有目的而言,.py文件实际上是一个笔记本文件。我升级到最新版本的notebook后,无法再这样做。如何在我的notebook上使用.py文件?
我知道有绕路的方法。我正在寻找一种方法,在notebook中,您可以选择打开一个.py文件,它会被打开并像.ipnyb一样运行。当您保存时,它将写入.py文件。
在我的旧电脑上,我可以从Jupyter Notebook运行.py文件、编辑它们并运行它们。对于所有目的而言,.py文件实际上是一个笔记本文件。我升级到最新版本的notebook后,无法再这样做。如何在我的notebook上使用.py文件?
我知道有绕路的方法。我正在寻找一种方法,在notebook中,您可以选择打开一个.py文件,它会被打开并像.ipnyb一样运行。当您保存时,它将写入.py文件。
这并不是确切的答案。曾经我可以使用Python Notebook打开.py文件,并像打开notebook文件一样进行操作。
然而,我已经成功在VScode中复制了此行为。
https://code.visualstudio.com/docs/python/jupyter-support-py
使用VScode,您可以将所有.ipynb文件导出为.py文件,然后运行代码块。 代码块由# %%
分隔。
我还没有足够长的时间使用它来决定它是否比Python Notebook更好,但这似乎是目前最好的解决方案。 我之前尝试过使用Atom / Hydrogen,但并不喜欢那种体验。
使用魔术命令 %load 可以在笔记本单元格中加载文本文件。
如果你执行包含以下内容的单元格:
%loadpy filename.py
filename.py
的内容将在下一个单元格中加载。您可以像平常一样编辑和执行它。%%writefile filename.py
并运行它。?
:如%loadpy?
或%%writefile?
。%COMMAND-NAME?
%run?
%lsmagic
。另外还有另一种名为%save-f
的魔术功能,但我不建议使用它,因为它是保存文件的间接方式。%%writefile some_file_name.py
。%run some_file_name.py
。一些编辑器(如Spyder和VSCode)具有Jupyter Notebook功能。如果在Python环境中安装了Jupyter,则可以使用它们。
您可以通过在代码块顶部添加#%%来使用它。(在VSCode中,“运行单元格”按钮将自动出现)
此外,还可以将.ipynb导入为.py文件,然后可以运行以进行高级解密。
我刚刚发现了这个包p2j,并使用它来测试带有函数、注释和普通代码的.py文件。
我按照this answer中的指示进行了操作:
pip install p2j
p2j -o script.py -t new_file.ipynb
你也可以添加 -o 标志来覆盖原始文件。
有了这个,我得到了一个工作的Jupiter笔记本,每个代码块都在一个单元格中,并且注释是markdown格式的。