Terminal macOS 10.15终端-取消链接获取“不允许操作”

Terminal macOS 10.15终端-取消链接获取“不允许操作”,terminal,zsh,macos-catalina,unlink,Terminal,Zsh,Macos Catalina,Unlink,zsh;终端在系统首选项中具有完全磁盘访问权限 /usr/bin % ls -alF python lrwxr-xr-x 1 root wheel 75 Jul 12 11:48 python@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /usr/bin % sudo unlink python Password: unlink: python: Operation n

zsh;终端在系统首选项中具有完全磁盘访问权限

/usr/bin % ls -alF python
lrwxr-xr-x  1 root  wheel  75 Jul 12 11:48 python@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
/usr/bin % sudo unlink python
Password:
unlink: python: Operation not permitted
/usr/bin % 
按OP编辑以添加此终端成绩单:

~ % whence python
/usr/bin/python
~ % echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/brec/.rvm/bin
~ % ls -alF /usr/local/bin/python
lrwxr-xr-x  1 brec  admin  24 Dec 11 10:45 /usr/local/bin/python@ -> /usr/local/bin/python3.8
~ % python

WARNING: Python 2.7 is not recommended.

注意:/usr/local/bin/python3.8不存在。

我取消了/usr/local/bin/python的链接,然后创建了一个软链接/usr/local/bin/python到我希望python命令执行的python版本。

我取消了/usr/local/bin/python的链接,然后创建了一个软链接/usr/local/bin/python到我希望python命令执行的python版本执行。

在最新的macOS版本上,系统完整性保护SIP可防止修改多个位置的文件,包括/usr/bin。由于macOS的某些部分使用Python,因此无法修改/usr/bin/Python处的符号链接——如果修改了,可能会破坏依赖于特定Python版本的操作系统的某些部分。即使作为根用户,也不能修改受SIP保护的文件


最好安装单独的Python版本,并确保相应地设置PATH环境变量。

在最新的macOS版本中,系统完整性保护SIP可防止修改多个位置的文件,包括/usr/bin。由于macOS的某些部分使用Python,因此无法修改/usr/bin/Python处的符号链接——如果修改了,可能会破坏依赖于特定Python版本的操作系统的某些部分。即使作为根用户,也不能修改受SIP保护的文件


最好安装一个单独的Python版本,并确保相应地设置了PATH环境变量。

这可能是根文件系统以只读方式安装的问题,这会使单个文件权限变得毫无意义。@chepner如果是这样的问题,我该如何重新定位符号链接?也许可以尝试sudo chown这个符号链接。chown:python:Operation不允许:您不允许。不要管系统安装的东西。将包含要在PATH变量中使用的版本的目录放在/usr/bin之前,或使用虚拟环境。这可能是根文件系统以只读方式装入的问题,这会使单个文件权限变得毫无意义。@chepner如果是这个问题,我该如何重新定位符号链接?也许可以尝试sudo chown这个符号链接。chown:python:Operation不允许:您不允许。不要管系统安装的东西。将包含要在PATH变量中使用的版本的目录置于/usr/bin之前,或者使用虚拟环境。