PermissionError: [Errno 13] Permission denied: 'C:\\Users\\2024\\AppData\\Roaming\\jupyter\\runtime\\jpserver-22380-open.html'
时间: 2025-06-20 13:23:45 浏览: 24
### 权限拒绝问题分析
当运行 Jupyter Notebook 时遇到 `PermissionError: [Errno 13] Permission denied` 错误,通常是因为程序尝试访问某个文件或目录时被操作系统拒绝了权限。此错误可能发生在多个路径下,例如用户的 AppData 文件夹、Jupyter 的 runtime 目录或其他配置文件位置。
以下是针对该问题的具体解决方案:
---
#### 方法一:更改 Jupyter 运行时目录的权限
如果问题是由于 Jupyter 尝试写入其默认的 runtime 或 share 路径而引发的,则可以通过修改这些路径的权限来解决问题。对于 Linux 用户,可以执行以下命令以调整 `/run/user/0/jupyter` 的权限[^5]:
```bash
sudo -i
cd /run/user/0/
chmod -R a+rX jupyter/
```
上述操作会赋予当前用户对指定目录及其子目录的读取和执行权限,从而允许 Jupyter 正常创建所需的临时文件。
---
#### 方法二:重新设置 Jupyter 配置
有时,Jupyter 的某些配置可能导致它无法正常工作。在这种情况下,建议删除现有的 `.jupyter` 配置并让系统自动生成新的配置文件。具体步骤如下:
1. 删除旧的配置文件:
```bash
rm -rf ~/.jupyter
```
2. 启动一个新的 Jupyter 实例以重建必要的配置项:
```bash
jupyter notebook
```
通过这种方式,可以清除潜在损坏的配置数据,并恢复到初始状态。
---
#### 方法三:切换至其他存储路径
如果希望避免因特定路径引起的权限冲突,可以选择手动定义 Jupyter 使用的新 runtime 和 data 存储位置。这可通过环境变量实现。例如,在启动前设置以下变量[^3]:
```bash
export JUPYTER_RUNTIME_DIR=/tmp/jupyter_runtime
export JUPYTER_DATA_DIR=/tmp/jupyter_data
jupyter notebook --allow-root
```
这里将 runtime 数据放置于 `/tmp` 下的一个新目录中,确保不会受到原始路径上的权限限制影响。
---
#### 方法四:禁用不必要的安全选项
部分场景下的权限问题可能是由过于严格的 SELinux 设置引起。此时可考虑暂时关闭 SELinux 测试效果(仅适用于生产环境中调试)。编辑 `/etc/selinux/config` 并将其模式改为 permissive:
```bash
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
reboot
```
重启之后再次测试是否仍然存在相同错误消息。
---
#### 方法五:检查实际文件所有权
确认目标路径的实际拥有者以及组成员关系也很重要。假如发现相关文件并非归属于当前登录账户,则需修正它们的所有权信息。比如修复 Windows 上提到的那个 HTML 文件关联案例[^1]:
```cmd
takeown /f C:\Users\DELL\AppData\Roaming\jupyter\runtime\jpserver-3416-open.html
icacls C:\Users\DELL\AppData\Roaming\jupyter\runtime\jpserver-3416-open.html /grant Everyone:F
```
以上两条指令分别获取对该资源控制权并将完全访问权利授予所有用户群体。
---
### 总结
综上所述,解决 Jupyter Notebook 中出现的 `[Errno 13] Permission denied` 报错可以从多方面入手,包括但不限于调整现有目录权限、重设个人化设定档案、改变储存地点或者审查主机安全性策略等等措施。每种方法都有各自适用范围,请依据实际情况选取最合适的处理方式。
---
阅读全文
相关推荐



















