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

在Google Drive File Stream中Jupyter Notebook存Checkpoint报错求助

Jupyter Notebook Checkpoint Failed with shutil.SameFileError on Google Drive File Stream (Offline Mode)

问题回顾

你在切换到Google Drive File Stream并设置文件夹为Available offline后,Jupyter Notebook启动正常,但执行Save and Checkpoint时触发shutil.SameFileError,提示原Notebook文件和.ipynb_checkpoints下的checkpoint文件是同一个文件,即使修改内容、删除原有checkpoint文件夹也无法解决。

解决方案

1. 临时应急方案(快速恢复保存功能)

  • 先关闭当前运行的Jupyter Notebook服务器
  • 找到你的Notebook所在的Google Drive文件夹,手动删除.ipynb_checkpoints文件夹
  • 重新启动Jupyter Notebook,尝试手动保存(注意:如果再次触发自动checkpoint,问题可能会重复,建议配合下面的配置修改)

2. 长期修复:修改Checkpoint存储路径到本地

这个方法从根源上避免Drive File Stream的文件映射冲突:

  • 打开Anaconda Prompt,运行以下命令生成Jupyter配置文件:
    jupyter notebook --generate-config
    
  • 在输出信息里找到配置文件的路径(通常是C:\Users\[你的用户名]\.jupyter\jupyter_notebook_config.py),用文本编辑器打开它
  • 找到# c.FileCheckpoints.checkpoint_dir = ''这一行,去掉开头的注释符号#,并设置为一个本地路径(非Drive File Stream映射的路径),比如:
    c.FileCheckpoints.checkpoint_dir = 'C:/Jupyter_Checkpoints/.ipynb_checkpoints'
    
    注意:确保你创建了这个本地目录,或者让Jupyter自动创建(需要目录有写入权限)
  • 保存配置文件后,重新启动Jupyter Notebook,之后checkpoint会存储在本地,不会再和云端路径的文件产生冲突

3. 备选方案:禁用自动Checkpoint

如果你不需要自动checkpoint功能,可以直接关闭它:

  • 打开上述的jupyter_notebook_config.py文件,找到# c.FileContentsManager.autosave_interval = 120这一行
  • 修改为:
    c.FileContentsManager.autosave_interval = 0
    
    这样Jupyter就不会自动创建checkpoint,你可以通过手动点击Save按钮保存文件(不会触发checkpoint操作)

原因分析

Google Drive File Stream的离线模式会将云端文件同步到本地缓存,但对外展示的还是云端映射路径(比如你的G:\My Drive)。当Jupyter在这个映射路径下创建checkpoint文件时,Drive的文件同步机制可能导致系统识别错误,认为原文件和checkpoint文件是同一个实体,从而触发shutil库的SameFileError异常。

错误日志参考

[I 10:49:44.573 NotebookApp] Saving file at /Writing_MVUE_2d.ipynb [E 10:49:44.690 NotebookApp] Unhandled error in API request Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\base\handlers.py", line 516, in wrapper result = yield gen.maybe_future(method(self, *args, **kwargs)) File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1015, in run value = future.result() File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\concurrent.py", line 237, in result raise_exc_info(self._exc_info) File "<string>", line 3, in raise_exc_info File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 285, in wrapper yielded = next(result) File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\contents\handlers.py", line 278, in post checkpoint = yield gen.maybe_future(cm.create_checkpoint(path)) File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\contents\manager.py", line 468, in create_checkpoint return self.checkpoints.create_checkpoint(self, path) File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\contents\filecheckpoints.py", line 56, in create_checkpoint self._copy(src_path, dest_path) File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\contents\fileio.py", line 241, in _copy copy2_safe(src, dest, log=self.log) File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\contents\fileio.py", line 51, in copy2_safe shutil.copyfile(src, dst) File "C:\ProgramData\Anaconda3\lib\shutil.py", line 98, in copyfile raise SameFileError("{!r} and {!r} are the same file".format(src, dst)) shutil.SameFileError: 'G:\\My Drive\\Research\\Camera_Project\\Writing_MVUE_2d.ipynb' and 'G:\\My Drive\\Research\\Camera_Project\\.ipynb_checkpoints\\Writing_MVUE_2d-checkpoint.ipynb' are the same file [E 10:49:44.698 NotebookApp] { "Cache-Control": "no-cache", "Cookie": "username-localhost-8891=\"2|1:0|10:1525749572|23:username-localhost-8891|44:ZGE5NjFkMTgwOTI3NDFjMWJhMzY1NDIwNjhlODk5ODA=|52cc6ad64c261ccd78d2f66a0c14a95edc8468e7e4ac9c27770ce2bbebd8cd55\"; _xsrf=2|f34c78bf|7c7913196386a495e7fb6a7c3c7bbf7e|1525206477; username-localhost-8890=\"2|1:0|10:1525723124|23:username-localhost-8890|44:MGFhNmE2ZjMxZmFmNDU0M2IyMTgzNWE2NDdmMmRhMDc=|73c556d569c5f55b60a18dd36f06850f90c89c2dc329e11a4041a6c5ede7cb38\"; username-localhost-8889=\"2|1:0|10:1526327000|23:username-localhost-8889|44:YjdmMTExODQyNjNmNGM5MWIzZmM0OWIzYjE3NDgzZmM=|43a55e40b88869d8e054546feca0fbf7efae9c993b450311f5046f4c0ba45a66\"; username-localhost-8888=\"2|1:0|10:1526395222|23:username-localhost-8888|44:ZDJmZWNjZWUzZDJjNDVmMjkwMTZhNWZmNTI1MjhhMTE=|9cd671557f9b67b203088e3852aaf37de56ad7c8ad45f26798bc3e0d47a49c43\"", "Referer": "http://localhost:8888/notebooks/Writing_MVUE_2d.ipynb", "X-Xsrftoken": "2|f34c78bf|7c7913196386a495e7fb6a7c3c7bbf7e|1525206477", "Origin": "http://localhost:8888", "Content-Length": "0", "Connection": "Keep-Alive", "Accept-Encoding": "gzip, deflate", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Language": "en-US", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299", "X-Requested-With": "XMLHttpRequest", "Host": "localhost:8888" } [E 10:49:44.698 NotebookApp] 500 POST /api/contents/Writing_MVUE_2d.ipynb/checkpoints (::1) 12.00ms referer=http://localhost:8888/notebooks/Writing_MVUE_2d.ipynb

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:27:02