You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保存Jupyter Notebook(Anaconda3)的完整运行环境?

一键保存/加载Jupyter Notebook全部环境对象

针对Windows系统下Anaconda环境的Jupyter Notebook,以下几种方法可以实现类似R语言.RData的一键保存/加载全部自定义对象(dataframe、模型、列表等)的功能:

方法1:使用dill库(最便捷)

dill支持序列化几乎所有Python对象,无需逐个指定变量,直接保存全局环境:

  • 安装dill
    conda install dill -c conda-forge
    # 或用pip安装
    pip install dill
    
  • 保存全部环境
    import dill
    # 将当前全局环境所有对象保存到文件
    with open('notebook_env.pkl', 'wb') as f:
        dill.dump(globals(), f)
    
  • 加载环境
    import dill
    # 加载保存的对象并覆盖当前全局环境
    with open('notebook_env.pkl', 'rb') as f:
        loaded_env = dill.load(f)
    globals().update(loaded_env)
    
    注意:加载时会覆盖当前环境中同名变量,建议在新Notebook或清空当前环境后操作。

方法2:原生pickle实现(无需额外安装)

利用Python自带的pickle模块,结合全局变量字典过滤系统变量,只保存用户自定义对象:

  • 保存
    import pickle
    # 过滤系统内置变量,仅保留用户定义的对象
    user_objects = {k: v for k, v in globals().items() if not k.startswith('_') and not isinstance(v, type)}
    with open('notebook_env.pkl', 'wb') as f:
        pickle.dump(user_objects, f)
    
  • 加载
    import pickle
    with open('notebook_env.pkl', 'rb') as f:
        user_objects = pickle.load(f)
    globals().update(user_objects)
    

方法3:Jupyter魔法命令批量操作

利用Jupyter自带的%store魔法命令实现批量保存/加载:

  • 批量保存
    # 筛选出用户自定义变量名
    user_var_names = [k for k in globals().keys() if not k.startswith('_') and not isinstance(globals()[k], type)]
    # 批量保存所有用户变量
    for var_name in user_var_names:
        %store $var_name
    
  • 批量加载
    # 一键加载所有之前保存的变量
    %store -r
    

内容的提问来源于stack exchange,提问作者Yacine Hajji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:09:16