【python】报错:OSError: [Errno 30] Read-only file system

环境

python 3
max os

问题

OSError: [Errno 30] Read-only file system

解决办法

终端输入
sudo mount -uw /

不成功报错:mount_apfs: volume could not be mounted: Operation not permitted

有效的解决方案

在Mac OS10.11之后,Apple公司为了提高系统环境安全,引入了一个内核保护措施–SIP(System Integrity Protection,系统完整性保护),又称Rootless mode机制。
在SIP机制下,系统默认会锁定/system、/sbin、/usr这三个目录,即使切换到root用户也只能查看,不能进行其他操作。
SIP可以有效地防止恶意程序对电脑进行破坏,所以平时建议保持开启状态。

  • 查看SIP状态
    csrutil status

目前SIP是启用状态

  • 解决办法
    1.重启电脑,进入恢复模式,禁用SIP
    重启电脑,苹果图标亮的时候,同时按住Command+R进入恢复模式。(按击一次即可,然后等待读条)
    进入到了恢复页面,第一栏 -> 实用工具 ->打开终端
关闭保护机制
csrutil disable
重启
reboot

2.将根目录变为可读写的(重启后失效)
sudo mount -uw /
操作成功后,根目录读写功能已开启,你可以操作根目录了。

如果执行命令失败,错误如下,则是因为RIP未被禁用。
mount_apfs: volume could not be mounted: Operation not permitted
mount: / failed with 77    

3.最后,重启电脑到恢复模式,启用SIP
# 开启保护机制
csrutil enable
# 重启
reboot

你可能感兴趣的:(python,python)