Jupyter Notebook中Pandas read_csv报PermissionError权限错误如何解决
你看到的/var/folders/.../ipykernel_xxxx.py不存在属于正常现象,该文件是Jupyter运行代码时自动生成的临时执行脚本,运行结束后会自动清理,和本次权限报错完全无关。
本次报错的核心是运行Jupyter的Python进程没有权限读取桌面的inputdata.csv文件,可按如下方案排查解决:
解决方法
最常见场景:Mac系统隐私权限限制(90%以上该类报错的诱因)
Mac系统默认会限制未授权的应用访问桌面、文档等敏感用户文件夹,你可以按如下操作授权:
- 打开Mac「系统设置」→「隐私与安全性」→ 找到「文件和文件夹」/「完整磁盘访问权限」选项
- 在应用列表中找到你启动Jupyter的载体,比如你是从终端启动就找Terminal/iTerm2,从Anaconda启动就找Anaconda Navigator,从VS Code启动就找VS Code
- 勾选对应应用的「桌面」访问权限,也可以直接开启「完整磁盘访问权限」避免后续其他文件夹访问报错
- 完全退出对应应用后重新启动Jupyter,再次运行读取代码即可
你也可以做快速验证:把inputdata.csv移到你的用户根目录(~/,也就是和桌面、下载文件夹同级的目录),将读取代码修改为pd.read_csv('~/inputdata.csv'),如果可以正常读取,就可以确定是桌面文件夹的访问权限限制,按上述步骤操作即可。
场景2:文件本身权限设置错误
如果是Linux/macOS下文件本身的读写权限不足,可以通过终端执行命令修复:
- 给文件授予通用读权限:
chmod 644 ~/Desktop/inputdata.csv - 也可以直接给当前用户授予文件所有权:
sudo chown 你的系统用户名 ~/Desktop/inputdata.csv,将命令里的「你的系统用户名」替换为你自己的Mac/Linux用户名即可
场景3:路径拼写错误
部分系统路径大小写敏感,你可以先在终端执行ls ~/Desktop/inputdata.csv,如果输出文件路径就说明文件存在,否则就是你拼写错了文件名/路径,修改代码里的路径即可。
内容的提问来源于stack exchange,提问作者VRapport
相关产品推荐
相关产品推荐

