首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在IPython中保存工作区

在IPython中保存工作区
EN

Stack Overflow用户
提问于 2014-09-30 02:54:32
回答 3查看 16.9K关注 0票数 22

是否可以保存IPython工作区(定义的函数、不同类型的变量等)以便稍后加载?

这将是一个类似于MATLAB或R中的save.image()的函数。类似的问题以前已经问过了,例如:

Save session in IPython like in MATLAB?

然而,几年过去了,我想知道现在是否有一个好的解决方案。

EN

回答 3

Stack Overflow用户

发布于 2018-10-09 03:44:47

您可以使用dill python包:

代码语言:javascript
复制
import dill                            
filepath = 'session.pkl'
dill.dump_session(filepath) # Save the session
dill.load_session(filepath) # Load the session

要安装它,请执行以下操作:

代码语言:javascript
复制
pip install dill
票数 9
EN

Stack Overflow用户

发布于 2016-08-11 18:42:27

尽管不如save.image()方便,但您可以使用检查点/恢复应用程序之一。如果你使用Linux,你可以试试http://criu.org。我不时地使用它来转储我的ipython状态,并在以后恢复它。

为了使用CRIU转储shell应用程序,您需要找到它的PID (例如pstree -p),然后使用类似这样的东西(为此,您需要第二个终端;CRIU不能转储停止的作业):

代码语言:javascript
复制
sudo criu dump -t PID --images-dir ~/tmp/imgs --log-file dump.log -v4 --shell-job

这将把所有必要的图像写入到~/tmp/imgs (记住--shell-job选项)。为了稍后将状态恢复到当前终端(不要忘记按enter键进入下一个ipython提示符):

代码语言:javascript
复制
sudo criu restore --images-dir ~/tmp/imgs/ --log-file restore.log -v4 --shell-job

如果有任何问题,请查看日志。

显然,CRIU可以与任何应用程序一起工作(当然,有一些限制)。这只是一个想法,所以你可以将它用于ipython

票数 1
EN

Stack Overflow用户

发布于 2015-07-20 07:48:16

你可以试试

代码语言:javascript
复制
%save name lines

例如,如果您有67个输入命令,并且您想要保存所有命令:

代码语言:javascript
复制
%save myhistory 1-67
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26106833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档