MAC OS X EI Capitan 系统的 python 从 2.7 升级到 3 ,如果是 IOS 开发者请不要直接把 2.7 干掉,因为 xcode 只支持 2.7 的 python ,下面是安装的过程。
======================== 第一篇(替换 python27 )===========================
先去 python 的官网下载最新的 python ,默认路径安装好。 
由于 MAC 的 SIP 安全特性,即使使用 sudo 也无法使获得最高权限,无法对 MAC 系统级的目录进行更改,所以需要先把 SIP 特性关闭掉,在操作
现在要删除 mac 自带的 python ,如下:
sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7
把第一步里安装好的 Python 目录移到原本系统所持有的目录位置。 
sudo mv /Library/Frameworks/Python.framework/Versions/3.5 /System/Library/Frameworks/Python.framework/Versions
第三步,修改文件所属的 Group 设置 Group 为 wheel ,原来系统自带的就是这样的 
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.5
第四步,更新一下 Current 的 Link 在 Versions 的目录里有一个 Current 的 link ,是指向当前的 Python 版本,原始是指向系统自带的 Python2.7 ,我们把它删除后, 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/pydocsudo rm /usr/bin/pythonsudo rm /usr/bin/pythonwsudo rm /usr/bin/python-config 
2) 建立新的链接 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
按一下 i 进入编辑状态 
#Setting PATH for Python 3.5 
#The orginal version is saved in .bash_profile.py save 
PATH=”/System/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}” 
export PATH 
再按一下 “ esc ” 键 ,结束编辑并输入 “: wq ” 存储离开
Python 3.5.1 (v3.5.1:c0e311e010fc, May 18 2014, 00:54:21) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type “ help ”, “ copyright ”, “ credits ” or “ license ” for more information.
================= 第二篇(不替换系统的 python2.7 版本)=======================
由于 MAC 的 SIP 安全特性,即使使用 sudo 也无法使获得最高权限,无法对 MAC 系统级的目录进行更改,所以需要先把 SIP 特性关闭掉,在操作
sudo mv /Library/Frameworks/Python.framework/Versions/3.5 /System/Library/Frameworks/Python.framework/Versions
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.5
1) 建立新的链接 
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/pydoc3.5 /usr/bin/pydoc3 
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /usr/bin/python3 
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/pythonw3.5 /usr/bin/pythonw3 
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config /usr/bin/python3-config
Python 3.5.1 (v3.5.1:c0e311e010fc, May 18 2014, 00:54:21) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type “ help ”, “ copyright ”, “ credits ” or “ license ” for more information.
|  |      1pi1ot      2015-11-27 15:54:38 +08:00 brew install python3 不就可以了嘛 | 
|  |      2h4lt      2015-11-27 16:00:18 +08:00 brew install pyenv 移除系统自带的感觉略作死 | 
|  |      3likuku      2015-11-27 16:01:19 +08:00 python 官网下载装完就可以了,为啥要干掉旧的 python 2 ? $ uname -v Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64 [16:02:24] ~ ⮀ $ ⮀ $ python3 Python 3.5.0 (v3.5.0:374f501f4567, Sep 12 2015, 11:00:19) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> | 
|  |      5jasonworg      2015-11-27 16:23:50 +08:00 关 SIP 略作死。 软链接可以放在 /usr/local/bin/。 | 
|      7superalsrk      2015-11-27 17:27:40 +08:00 。。。直接装全局真的很崩溃,然后被逼无奈用 PyENV ,毫无压力 | 
|  |      8pynix      2015-11-27 19:01:14 +08:00 via Android brew | 
|  |      9Changxu      2015-11-27 19:03:07 +08:00 对啊、我们都是用 brew Install python3 的,不知道楼主在讲什么 | 
|  |      10anthonyeef      2015-11-27 19:07:32 +08:00 via Android 楼上都太坏了…楼主也是提供了一种思路而已。 (虽然我也是用 homebrew 装的 XDD | 
|  |      11mimzy      2015-11-27 19:08:25 +08:00 via Android El Capitan | 
|  |      12Tink PRO 千万别懂系统自带的啊 | 
|  |      13Tink PRO 懂——动 | 
|  |      14Sylv      2015-11-27 21:42:59 +08:00 via iPhone 替换系统 Python 就是花样作死,以前没 SIP 也就算了,现在摆明了别让你动还这么折腾。迟早会后悔的,然后又会开始折腾想怎么才能恢复原本的 Python 。为什么我会这么说,因为我曾经年少无知也干过这事,折腾到最后还是重装了系统才舒坦。 系统 Python 就留着别动,用 homebrew 可以再装独立的 Python 2 和 Python 3 到 /usr/local/bin/ 中,只要 brew install python3 简单的一个命令就好了。然后只要 PATH 里 /usr/local/bin/ 在 /usr/bin/ 前面,那么在终端里输 python 和 python3 ,用的就会是 homebrew 独立的版本。如果对 Python 版本有更多的需求,则可以用 pyenv ,同样也是 brew install pyenv 一个命令就好了。 | 
|      15xfwduke      2015-11-27 23:06:52 +08:00 替换系统 Python 绝对后悔 安装到自定义位置, 用 virtualenv 才是正道 | 
|  |      16bkmi      2015-11-28 00:13:49 +08:00 楼上几个都说动系统的崩溃 作死 会后悔,却没一个说出原因的,这是为毛 | 
|  |      17xhat      2015-11-28 00:17:29 +08:00 楼主所说有用。 替换系统 python 了,正作死中 | 
|  |      18xhat      2015-11-28 00:18:54 +08:00 在考虑如果把 os 用 tm 备份下来,重装后再恢复,应该就能恢复原来 python 了吧,有人这么干过么 | 
|      19Reflectiontime      2015-11-28 00:40:48 +08:00 花样作死。。。 brew install python3 不需要的时候再 uninstall 一下就行了 完全不用动系统原来的。 | 
|  |      20matthewz      2015-11-28 00:49:01 +08:00 pyenv | 
|  |      21limbo0      2015-11-28 01:18:31 +08:00 为 lz 鼓掌, 不过还是用虚拟环境吧 | 
|  |      22janxin      2015-11-28 13:53:22 +08:00 via iPhone brew install pyenv pyenv install 3.5.0 pyenv shell 3.5.0 | 
|  |      23carlhan      2015-11-28 15:57:40 +08:00 没有 MAC ,不了解。 但是我的理解,要想保留 python2 , python3 完全可以通过源码安装, configure 的时候指定 prefix ,然后做一个 symlink 或者 bash/zsh 里面设置一下 alias 就 OK 了啊。 当然,还是要说,我没有 MAC ,情况可能不一样。 | 
|  |      24MrEggNoodle      2015-11-28 20:23:33 +08:00 @bkmi 因为三言两语说不清楚。。。 | 
|  |      25dorentus      2015-11-29 00:27:52 +08:00 via iPhone @bkmi 不管是 Linux 还是 OS X ,系统自带的 python 都不光是给用户用,还是会被其他系统组件使用的,某些第三方应用也会假定系统提供某个版本的 python 并使用它。所有这些,它们的正常运行都建立在系统 python 提供的兼容性上。 更不用说 py3 和 py2 并不兼容这个会带来多大的问题了。 | 
|  |      26rim99      2015-11-29 20:14:05 +08:00 via iPhone 记得以前看到过 Xcode 还依赖 python2.7 呢 | 
|      28guoguofish      2016-11-11 21:52:53 +08:00 有些独立的 app 是不管你怎么设置环境的,它都要使用系统自带 python 的 |