DP_*_*DP_ 4 python jupyter jupyter-notebook
我有一个宠物项目,最初是从Jupyter笔记本开始的。到目前为止,我将所有Python代码都放在了笔记本中。
开始时一切都很好。但是随着时间的流逝,我在笔记本中编写的代码变得越来越复杂。现在几乎无法处理:当我发现错误时,我需要
我想将代码分为两部分:
假设笔记本在我的本地计算机上运行(Windows 7; Jupyter在Anaconda中运行),并且Python文件也存储在本地。
有什么好的方法可以使用IPython文件中的代码,以便我可以频繁,快速地修改此代码?
“频繁且快速”是指“将更改从Python文件传播到笔记本的步骤尽可能少”。理想的解决方案是我更改其中一个Python文件,运行一个命令,然后在Jupyter笔记本中进行更改。或者,使用旧的类比,我希望它像PHP一样-您经常更改代码并立即查看更改的结果。
更新1:我试图%load TestClass.py
在单元格中使用该解决方案。
问题是,如果文件更改,则单元格内容不会更新。
例:
假设我把文字
class TestClass:
def __init__(self):
print("TestClass constructor")
Run Code Online (Sandbox Code Playgroud)
进入TestClass.py
。然后,我在Jupyter笔记本中使用创建一个单元格%load TestClass.py
。当我执行该单元格时,将TestClass.py
导入from中的代码,并将该行%load TestClass.py
注释掉。
现在我换TestClass.py
到
class TestClass:
def __init__(self):
print("TestClass constructor")
print("change")
Run Code Online (Sandbox Code Playgroud)
当我执行该单元格时,其内容未更改。
听起来IPython 的autoload扩展正是您所需要的。只需插入
%load_ext autoreload
%autoreload 2
Run Code Online (Sandbox Code Playgroud)
在Jupyter笔记本的第一个单元格中,导入的python模块会在更改时自动重新加载。您还可以对已安装的python软件包进行更改,前提是您已将其安装为editable。
归档时间: |
|
查看次数: |
1394 次 |
最近记录: |