解决mac osx下pip安装ipython权限的问题
| 1 | pip?install?ipython?--user?-U |
下面是pip install gevent的錯誤提示, 又是?Operation not permitted …
| 1 2 3 4 5 | #xiaorui.cc pip install gevent ... ????raise Error, errors Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py', '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py', "[Errno 1] Operation not permitted: '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc', '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc', "[Errno 1] Operation not permitted: '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', "[Errno 1] Operation not permitted: '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', "[Errno 1] Operation not permitted: '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', "[Errno 1] Operation not permitted: '/tmp/pip-jlyjj9-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib'")] |
?
其實權(quán)限問題…?OSError: [Errno 1] Operation not permitted , ? 各種的root都不可以,想到了一個粗暴的方式,直接針對share進(jìn)行chmod的授權(quán)。 ?結(jié)果… 提示root也是沒有權(quán)限操作系統(tǒng)的目錄。 ? 我突然發(fā)覺肯定是新版的osx有了某種機(jī)制制止我們直接的修改/System文檔數(shù)據(jù)。?
?
?
google了后,發(fā)現(xiàn)果然如我的所料…. ?新系統(tǒng)有個叫sip的機(jī)制。 你暫時不能直接在終端進(jìn)行?csrutil disable 會出現(xiàn)錯誤提示,引導(dǎo)你去mac osx的恢復(fù)模式進(jìn)行操作。?
?
由于El Capitan引入了SIP機(jī)制(System Integrity Protection),默認(rèn)下系統(tǒng)啟用SIP系統(tǒng)完整性保護(hù)機(jī)制,無論是對于硬盤還是運行時的進(jìn)程限制對系統(tǒng)目錄的寫操作。 這也是我們安裝ipython失敗的原因….
現(xiàn)在的解決辦法是取消SIP機(jī)制,具體做法是:
重啟電腦,按住Command+R(直到出現(xiàn)蘋果標(biāo)志)進(jìn)入Recovery Mode(恢復(fù)模式)
左上角菜單里找到實用工具 -> 終端
輸入csrutil disable回車
重啟Mac即可
如果想重新啟動SIP機(jī)制重復(fù)上述步驟改用csrutil enable即可
我們現(xiàn)在再看看sip的狀態(tài), 這樣再安裝ipython、gevent再也不會提示無法寫入的權(quán)限提示了/
?
?
| 1 2 | $ csrutil status System Integrity Protection status: disabled. |
?
?
?
如果在mac下碰到OSError: [Errno 1] Operation not permitted:的問題,就算用sudo 也無法解決,那肯定是sip在作怪了.
?
胡陽大哥給出一個優(yōu)雅的方案,大家可以使用下. 基于用戶的權(quán)限來安裝模塊包顯得更加合理。?
?
| 1 | pip install ipython --user -U |
?
總結(jié)
以上是生活随笔為你收集整理的解决mac osx下pip安装ipython权限的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言入门-安装R和Rstuido软件
- 下一篇: [剑指offer][JAVA]面试题第[