在Canopy编辑器中,如何在当前交互式命名空间中运行python脚本?
具体来说,我有一个需要很长时间才能加载的大型模型对象。我想在交互式shell中实例化模型,然后能够运行在现有模型上运行的脚本。如果我在脚本中选择文本并单击"运行所选文本"按钮,一切正常。或者,如果我键入"运行-i script.py"正如本related question中所建议的,它也可以正常工作。但是,如果我单击"运行当前文件"按钮,脚本似乎在一个干净的命名空间中运行,并且找不到交互式shell中已存在的任何变量。
这是我尝试使用的特定代码,仅在第一次通过脚本时加载模型。
# Only instantiating the model object if it does not already exist
if 'model' not in locals():
model = TreeModel(filename)
答案 0 :(得分:1)
单击"运行当前文件",然后当它无法按需运行时,按向上箭头调出运行命令,插入-i
,然后按Enter重新运行在ipython的互动模式中。
理论上,Canopy可以作为另一种Run变体提供,但我们希望避免使用很少使用的选项来混乱UI。