是否可以保存IPython工作区(定义的函数、不同类型的变量等)以便稍后加载?
这将是一个类似于MATLAB或R中的save.image()
的函数。类似的问题以前已经问过了,例如:
Save session in IPython like in MATLAB?
然而,几年过去了,我想知道现在是否有一个好的解决方案。
发布于 2018-10-09 03:44:47
您可以使用dill python包:
import dill
filepath = 'session.pkl'
dill.dump_session(filepath) # Save the session
dill.load_session(filepath) # Load the session
要安装它,请执行以下操作:
pip install dill
发布于 2016-08-11 18:42:27
尽管不如save.image()
方便,但您可以使用检查点/恢复应用程序之一。如果你使用Linux,你可以试试http://criu.org。我不时地使用它来转储我的ipython
状态,并在以后恢复它。
为了使用CRIU转储shell应用程序,您需要找到它的PID (例如pstree -p
),然后使用类似这样的东西(为此,您需要第二个终端;CRIU不能转储停止的作业):
sudo criu dump -t PID --images-dir ~/tmp/imgs --log-file dump.log -v4 --shell-job
这将把所有必要的图像写入到~/tmp/imgs (记住--shell-job
选项)。为了稍后将状态恢复到当前终端(不要忘记按enter键进入下一个ipython
提示符):
sudo criu restore --images-dir ~/tmp/imgs/ --log-file restore.log -v4 --shell-job
如果有任何问题,请查看日志。
显然,CRIU可以与任何应用程序一起工作(当然,有一些限制)。这只是一个想法,所以你可以将它用于ipython
。
发布于 2015-07-20 07:48:16
你可以试试
%save name lines
例如,如果您有67个输入命令,并且您想要保存所有命令:
%save myhistory 1-67
https://stackoverflow.com/questions/26106833
复制相似问题