解決mac osx下pip安裝ipython權限的問題


1
pip install ipython --user -U

下面是pip install gevent的錯誤提示, 又是 Operation not permitted …

 

其實權限問題… OSError: [Errno 1] Operation not permitted ,   各種的root都不可以,想到了一個粗暴的方式,直接針對share進行chmod的授權。  結果… 提示root也是沒有權限操作系統的目錄。   我突然發覺肯定是新版的osx有了某種機制制止我們直接的修改/System文檔數據。 

 

 

google了后,發現果然如我的所料….  新系統有個叫sip的機制。 你暫時不能直接在終端進行 csrutil disable 會出現錯誤提示,引導你去mac osx的恢復模式進行操作。 

 

由於El Capitan引入了SIP機制(System Integrity Protection),默認下系統啟用SIP系統完整性保護機制,無論是對於硬盤還是運行時的進程限制對系統目錄的寫操作。 這也是我們安裝ipython失敗的原因….

現在的解決辦法是取消SIP機制,具體做法是:

重啟電腦,按住Command+R(直到出現蘋果標志)進入Recovery Mode(恢復模式)
左上角菜單里找到實用工具 -> 終端
輸入csrutil disable回車
重啟Mac即可
如果想重新啟動SIP機制重復上述步驟改用csrutil enable即可

我們現在再看看sip的狀態, 這樣再安裝ipython、gevent再也不會提示無法寫入的權限提示了/

 

 

 

 

 

如果在mac下碰到OSError: [Errno 1] Operation not permitted:的問題,就算用sudo 也無法解決,那肯定是sip在作怪了.

 

胡陽大哥給出一個優雅的方案,大家可以使用下. 基於用戶的權限來安裝模塊包顯得更加合理。 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM