您的位置:首页 > 运维架构

Mac OS X El Capitan (10.11) sudo pip install 报错 “OSError: [Errno 1] Operation not permitted”

2015-12-19 21:37 597 查看
由于 OS X El Capitan 采用了 System Integrity Protection 保护技术,导致 sudo pip install 安装python包时会产生报错:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 150, in makedirs
makedirs(head, mode)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/selenium'


SIP 相关命令 csrutil:

xx:~ $ csrutil
usage: csrutil <command>
Modify the System Integrity Protection configuration. All configuration changes apply to the entire machine.
Available commands:

clear
Clear the existing configuration. Only available in Recovery OS.
disable
Disable the protection on the machine. Only available in Recovery OS.
enable
Enable the protection on the machine. Only available in Recovery OS.
status
Display the current configuration.

netboot
add <address>
Insert a new IPv4 address in the list of allowed NetBoot sources.
list
Print the list of allowed NetBoot sources.
remove <address>
Remove an IPv4 address from the list of allowed NetBoot sources.


查看当前SIP状态:

xx:~ $ csrutil status
System Integrity Protection status: enabled.


受到SIP保护的路径:

/System

/usr

/bin

/sbin

OS X 预装的应用

如果需要全局安装python包,则需要先关闭SIP,具体方法如下:

1、重启系统,重启过程中按住option然后选择恢复分区

2、进入恢复系统后点击菜单“实用工具”,打开终端,输入csrutil disable

3、正常重启

4、sudo pip install xx包

5、安装完毕后建议进入恢复分区通过终端打开SIP: csrutil enable

另外建议:关闭SIP后安装virtualenv,然后打开SIP,后续通过virtualenv进行环境管理。

参考链接:

http://stackoverflow.com/questions/33004708/osx-el-capitan-sudo-pip-install-oserror-errno-1-operation-not-permitted

/article/6771232.html

https://support.apple.com/en-us/HT204899
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: