美文网首页
mac更新默认的python2.7到python3.5

mac更新默认的python2.7到python3.5

作者: 烟影很美 | 来源:发表于2016-07-04 18:55 被阅读8412次

    首先在OS X 10.11中引入Rootless机制, 其作用如下:

    1./System文件夹下的所有文件都不能被苹果应用以外的程序修改(例如各种安装器和升级部件)
    2.当前的API例如task_for_pid不能在系统进程下被调用了。这意味着以前注入系统进程(Finder、Messages或者系统内核)的程序都不能用了。
    3.有意思的是,rootless依然允许已签名的KEXT内核拓展被载入。问题是KEXT可以进行许多无限制的系统及操作。

    所以我们不能直接修改/System文件夹下的所有文件, 如果是在OS X 10.11系统下,这里需要先将这个机制关掉. 关闭和开启Rootless机制的方法:
    关闭:
    1.重启电脑, 重启过程中按住command+R, 进入恢复模式
    2.打开terminal,键入: csrutil disable
    3.重启电脑

    开启:
    1.重启电脑, 重启过程中按住command+R, 进入恢复模式
    2.打开terminal,键入: csrutil enable
    3.重启电脑

    =========接下来是更新Python的步骤=========
    一. 使用brew安装python3(brew教程:http://www.cnblogs.com/TankXiao/p/3247113.html#brewsearch)

    二. 移动python3.5到/System/Library/Frameworks/Python.framework/Versions 目录下

    sudo mv (my path) /System/Library/Frameworks/Python.framework/Versions 
    

    其中(my path)目录根据你实际的目录修改, 我的因为使用brew下载的, 所以是在/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5

    三. 第三步,修改文件所属的Group
    设置Group为wheel,原来系统自带的就是这样的。

    sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.5
    

    四. 第四步,更新一下Current的Link
    在Versions的目录里有一个Current的link,是指向当前的Python版本,原始是指向系统自带的Python2.7.2,我们把它删除后,link就失效了,所以需要重新链一下

    sudo rm /System/Library/Frameworks/Python.framework/Versions/Current
    sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5 /System/Library/Frameworks/Python.framework/Versions/Current
    

    五. 第五步,重新链接可执行文件

    1. 先把系统原来的执行文件删掉
    sudo rm /usr/bin/pydoc
    sudo rm /usr/bin/python
    sudo rm /usr/bin/pythonw
    sudo rm /usr/bin/python-config
    
    1. 建立新的链接
    sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/pydoc3.5 /usr/bin/pydoc
    sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /usr/bin/python
    sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/pythonw3.5 /usr/bin/pythonw
    sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config /usr/bin/python-config
    
    

    六. 最后,更新一下.bash_profile文件

    cd ~vim .bash_profile (只要能编辑就行)插入新的Python路径
    
    # Setting PATH for Python 3.5
    
    # The orginal version is saved in .bash_profile.pysave
    PATH="/System/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
    export PATH
    

    七. 打开终端,输入python,结果如下:


    622A2B4F-CAD5-4D34-837B-25998BD1E900.png

    另外, 最后不知道是怎么回事, 所有配置都完成之后还是2.7, 然后我更新了下xocde(被我玩坏了, 想重新下载python的时候brew报错:Failure while executing: git config --local --replace-all homebrew.private t. xcode也打不开). 然后再打开终端输入python更新成功

    参考链接:
    http://jingyan.baidu.com/article/14bd256e39b63dbb6d261289.html
    http://www.cnblogs.com/TankXiao/p/3247113.html#brewsearch
    http://tadaland.com/os-x-rootless.html
    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316090478912dab2a3a9e8f4ed49d28854b292f85bb000

    相关文章

      网友评论

          本文标题:mac更新默认的python2.7到python3.5

          本文链接:https://www.haomeiwen.com/subject/wyxhjttx.html