MAC OS X EI Capitan 系统 安装 python3

2015-11-27 15:51:28 +08:00
 xiuc001

MAC OS X EI Capitan 系统的 python 从 2.7 升级到 3 ,如果是 IOS 开发者请不要直接把 2.7 干掉,因为 xcode 只支持 2.7 的 python ,下面是安装的过程。
======================== 第一篇(替换 python27 )===========================

  1. 先去 python 的官网下载最新的 python ,默认路径安装好。
    由于 MAC 的 SIP 安全特性,即使使用 sudo 也无法使获得最高权限,无法对 MAC 系统级的目录进行更改,所以需要先把 SIP 特性关闭掉,在操作

    • 重启 MAC ,按住 Command+R
    • 打开 terminal ,输入 csrutil disable 命令关闭 SIP 安全特性
    • 重启 MAC
  2. 现在要删除 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

  1. 第三步,修改文件所属的 Group 设置 Group 为 wheel ,原来系统自带的就是这样的
    sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.5

  2. 第四步,更新一下 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. 第五步,重新链接可执行文件

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

  1. 最后,更新一下.bash_profile 文件在终端输入 vi ~/.bash_profile

按一下 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 ” 存储离开

  1. 打开命令行,输入 python ,如下:

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 版本)=======================

  1. 先去 python 的官网下载最新的 python ,默认路径安装好。

由于 MAC 的 SIP 安全特性,即使使用 sudo 也无法使获得最高权限,无法对 MAC 系统级的目录进行更改,所以需要先把 SIP 特性关闭掉,在操作

  1. 把第一步里安装好的 Python 目录移到原本系统所持有的目录位置。

sudo mv /Library/Frameworks/Python.framework/Versions/3.5 /System/Library/Frameworks/Python.framework/Versions

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

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

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

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

  1. 打开命令行,输入 python3 ,如下:

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.

8182 次点击
所在节点    Python
28 条回复
pi1ot
2015-11-27 15:54:38 +08:00
brew install python3 不就可以了嘛
h4lt
2015-11-27 16:00:18 +08:00
brew install pyenv

移除系统自带的感觉略作死
likuku
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.
>>>
xiuc001
2015-11-27 16:02:00 +08:00
@pi1ot 之前试过,貌似没成功,然后就用其他方式搞了
jasonworg
2015-11-27 16:23:50 +08:00
关 SIP 略作死。
软链接可以放在 /usr/local/bin/。
xiuc001
2015-11-27 16:25:46 +08:00
@jasonworg 可以重新开启- -
superalsrk
2015-11-27 17:27:40 +08:00
。。。直接装全局真的很崩溃,然后被逼无奈用 PyENV ,毫无压力
pynix
2015-11-27 19:01:14 +08:00
brew
Changxu
2015-11-27 19:03:07 +08:00
对啊、我们都是用 brew Install python3 的,不知道楼主在讲什么
anthonyeef
2015-11-27 19:07:32 +08:00
楼上都太坏了…楼主也是提供了一种思路而已。

(虽然我也是用 homebrew 装的 XDD
mimzy
2015-11-27 19:08:25 +08:00
El Capitan
Tink
2015-11-27 19:10:23 +08:00
千万别懂系统自带的啊
Tink
2015-11-27 19:10:32 +08:00
懂——动
Sylv
2015-11-27 21:42:59 +08:00
替换系统 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 一个命令就好了。
xfwduke
2015-11-27 23:06:52 +08:00
替换系统 Python 绝对后悔

安装到自定义位置, 用 virtualenv 才是正道
bkmi
2015-11-28 00:13:49 +08:00
楼上几个都说动系统的崩溃 作死 会后悔,却没一个说出原因的,这是为毛
xhat
2015-11-28 00:17:29 +08:00
楼主所说有用。
替换系统 python 了,正作死中
xhat
2015-11-28 00:18:54 +08:00
在考虑如果把 os 用 tm 备份下来,重装后再恢复,应该就能恢复原来 python 了吧,有人这么干过么
Reflectiontime
2015-11-28 00:40:48 +08:00
花样作死。。。
brew install python3
不需要的时候再 uninstall 一下就行了
完全不用动系统原来的。
matthewz
2015-11-28 00:49:01 +08:00
pyenv

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/239442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX