Jupyter Notebook怎么解决提示“Permission Denied”

陌丽吖_9267

陌丽吖_9267

2026-08-12

180人浏览

原创

90%的permissionerror [errno 13] permission denied源于权限配置问题,而非jupyter故障;常见于windows的appdata oamingjupyter untime、linux/macos的~/.jupyter/runtime或当前工作目录,主因是用户无写入权限、文件被占用、归属错误或安全策略限制,解决需精准修复目录归属与权限,而非暴力chmod。

jupyter notebook怎么解决提示“permission denied”

直接说结论:90% 的 PermissionError: [Errno 13] Permission denied 不是 Jupyter 本身坏了,而是它试图读写某个目录时被 Windows 或 Linux 的权限机制拦住了——常见位置就三个:~/.jupyter/runtime/(Linux/macOS)、C:Users{用户名}AppDataRoamingjupyter untime(Windows)、或你当前启动 Jupyter 的工作目录(比如空文件夹、系统路径、挂载盘根目录)。

为什么 runtime 目录总报 Permission denied

Jupyter 启动后会在 runtime 目录下生成 jpserver-*.json 和 jpserver-*-open.html 这类临时状态文件。如果该目录归属用户不对、被其他进程锁住、或安全策略限制(如企业域控策略),就会触发 Permission denied。

  • Windows 上最常见:目录在 AppDataRoamingjupyter untime,但当前用户没“写入”权限(尤其重装系统或切换账户后)
  • Linux/macOS 上可能因 chown 或 umask 设置异常,导致 ~/.jupyter/runtime 所属用户/组错乱
  • 文件残留:上次异常退出没清理干净,新进程尝试覆盖旧 .html 文件时被拒绝

解决方法不是硬 chmod 777,而是精准定位并修复归属或权限:

  • 先关掉所有 jupyter notebook 进程(任务管理器或 ps aux | grep jupyter + kill -9)
  • 进到报错路径(比如 C:Usersww57AppDataRoamingjupyter untime),删掉所有 jpserver-*.json 和 jpserver-*-open.html 文件
  • 右键该 runtime 文件夹 → “属性” → “安全” → “编辑” → 给当前用户勾选“完全控制”,点确定
  • Linux/macOS 执行:chown -R $USER:$USER ~/.jupyter/runtime,再 chmod 700 ~/.jupyter/runtime

新建 Untitled.ipynb 提示 Permission denied 怎么办

这个错误和 runtime 无关,说明 Jupyter 当前工作目录(即你点击“New”时默认保存的位置)没有写权限。典型场景:你在 C:WindowsSystem32 下启动了 Jupyter,或者用了只读挂载的网络盘、加密 U 盘、或权限受限的 Docker volume。

Jupyter Notebook 7.5.4
Jupyter Notebook 7.5.4

Jupyter Notebook 7.5.4 官方 PyPI wheel 包下载,适合用于本地交互式代码运行、数据分析、教学演示和配置文件实践。

下载
  • 检查启动位置:终端里运行 jupyter notebook 前,先 pwd(Linux/macOS)或 cd(Windows),确认当前路径可写
  • 别用系统路径启动:避免在 C:Windows、/usr、/opt 等系统目录下执行 jupyter notebook
  • 改默认工作目录:运行 jupyter notebook --generate-config 生成配置,打开 ~/.jupyter/jupyter_notebook_config.py,取消注释并修改为:
c.NotebookApp.notebook_dir = '/home/yourname/notebooks'  # Linux/macOS
# 或
c.NotebookApp.notebook_dir = 'C:\Users\yourname\Documents\Jupyter'  # Windows

注意:c.NotebookApp.notebook_dir 路径必须已存在,且当前用户对该路径有读写权限;前面不能有空格,也不能带 # 注释符。

Linux/macOS 下 chmod 777 为什么经常失效

因为 chmod 777 只改当前目录权限,而 Jupyter 实际要写的是子目录(如 runtime/)或父目录(如 ~/.jupyter/)。更关键的是:某些环境(如 WSL2、容器、企业笔记本)启用了 noexec 或 nosuid 挂载选项,或受 SELinux/AppArmor 限制,此时 chmod 根本不起作用。

  • 先确认挂载选项:mount | grep $(df . | tail -1 | awk '{print $1}') ,看有没有 noexec 或 nosuid
  • 检查 SELinux:sestatus,如果是 enforcing,临时设为 permissive:sudo setenforce 0(仅测试用)
  • 容器中运行?确保 volume 挂载时加了 :z(Podman)或 :Z(Docker)标记,让 SELinux 正确打标
  • 真正有效的是改归属:chown -R $USER:$USER ~/.jupyter,而不是暴力 chmod

最容易被忽略的一点:很多用户修完 runtime 权限,却忘了检查 jupyter_cookie_secret 文件本身是否被设为只读——它也在 runtime/ 目录下,一旦被锁定,Jupyter 就无法更新会话密钥,照样报 Permission denied。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

2023.07.20

1671

4

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

2023.07.25

4164

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1669

3

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

2023.08.03

24157

23

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

2967

5

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

2987

5

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1163

5

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

596

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2303

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程