zoukankan      html  css  js  c++  java
  • 解决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在作怪了.

    胡阳大哥给出一个优雅的方案,大家可以使用下. 基于用户的权限来安装模块包显得更加合理。 

  • 相关阅读:
    hibernate一级缓存和二级缓存的区别
    springmvc中的controller是单例的
    Java 冒泡排序
    spring mvc做上传图片,文件小于10k就不生成临时文件了
    java程序生成二维码
    MySQL调优
    根据从redis缓存的数据查询出来,在从数据库中取出所有的数据,俩个数据进行比较,去掉重复,剩下库中新插入的数据,取出新数据,然后把redis中的缓存数据清空把从数据库中查出来的所有数据放到redis缓存中
    找出list中的不同元素、删除两个list中相同的对象
    PowerDesigner如何将消失的工具栏显示出来
    Oracle基础(九) Oracle的体系结构
  • 原文地址:https://www.cnblogs.com/mafeng/p/7435147.html
Copyright © 2011-2022 走看看