thuai
V2EX  ›  macOS

OSX 10.11 beta5 删除不了/usr/bin 目录下的文件

  •  
  •   thuai · Aug 5, 2015 · 7326 views
    This topic created in 3974 days ago, the information mentioned may be changed or developed.

    想要删除/usr/bin目录下面系统自带的python,使用brew 安装最新版本的python。无论怎么用力就是无法删除。
    在同事电脑上测试可以使用sudo rm /usr/bin/python删除。

    不知道是不是因为是beta版本的原因不允许删除/usr/bin/这种系统级别内的文件??

    13 replies    2015-08-10 21:00:39 +08:00
    kikyous
        1
    kikyous  
       Aug 5, 2015
    要越狱才行
    thuai
        2
    thuai  
    OP
       Aug 5, 2015
    要越狱?!电脑有越狱一说
    thuai
        3
    thuai  
    OP
       Aug 5, 2015
    @kikyous 要越狱?!电脑有越狱一说
    chunk
        4
    chunk  
       Aug 5, 2015
    osx不知道,在linux上好多东西依赖python不能随便删吧,可以在local下安装嘛
    SErHo
        5
    SErHo  
       Aug 5, 2015
    为什么要删除?直接 brew install 就行了,然后把 /usr/local/bin 添加到 PATH 列表中 /usr/bin 的前面。
    ant_sz
        6
    ant_sz  
       Aug 5, 2015
    这个是传说中的 Integrity Security

    关于它的介绍和怎么disable 这个功能请参考:
    http://www.macworld.com/article/2948140/os-x/private-i-el-capitans-system-integrity-protection-will-shift-utilities-functions.html
    http://www.quora.com/How-do-I-turn-off-the-rootless-in-OS-X-El-Capitan-10-11

    另外,请不要删除 OSX 下 System 的 Python,会导致很多其他 CLI tools 失效的。正确而且干净的方法包括

    1. 直接使用 brew 安装 Python ,brew 会在 PATH 上覆盖掉原来的 Python,原来的 Python 依然保留但是在shell里默认会使用 brew 安装的 Python
    2. (推荐)使用 pyenv 安装和管理多个 Python 版本。这种方法还可以让你方便的在不同的 Python 版本之间切换
    ant_sz
        7
    ant_sz  
       Aug 5, 2015
    在 OSX 下安装和使用 pyenv 也很方便 `brew install pyenv` 就好了。至于 pyenv 的使用请自行参考文档。
    thuai
        8
    thuai  
    OP
       Aug 5, 2015
    @SErHo
    @ant_sz 因为我想装scrapy 然后一直都有个错误
    ```
    File "/usr/local/lib/python2.7/site-packages/cffi/vengine_cpy.py", line 155, in load_library
    raise ffiplatform.VerificationError(error)
    ```
    然后google到方法是重新装cryptography和scrapy,然后就是各种依赖。崩溃
    squid157
        9
    squid157  
       Aug 5, 2015 via iPhone
    @thuai 拿virtualenv造一个试试,或者Homebrew一个2.7,用那个带的pip安装。
    删系统自带Python纯属作死。
    ant_sz
        10
    ant_sz  
       Aug 6, 2015
    @thuai pyenv 或者 virtualenv 应该能解决你的问题。不同 env 里的python所有的环境都是隔离的,包括依赖关系
    nccer
        11
    nccer  
       Aug 6, 2015
    你同事的电脑还好么
    thuai
        12
    thuai  
    OP
       Aug 7, 2015
    @nccer OS X10.11的问题
    qualia021
        13
    qualia021  
       Aug 10, 2015
    重启 ⌘R 进 Recovery,可以把 System Integrity Protection 关掉,然后就可以删了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   935 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 19:59 · PVG 03:59 · LAX 12:59 · JFK 15:59
    ♥ Do have faith in what you're doing.