mac安装与卸载系统自带Python

[TOC]

参考

安装与卸载Python x.x

安装路径

来源 python框架路径 python应用目录 指向 python框架 链接
系统自带 /System/Library/Frameworks/Python.framework/Versions/x.x - /usr/bin/
官网pkg安装 /Library/Frameworks/Python.framework/Versions/x.x /Applications/Python x.x /usr/local/bin/
brew安装 /usr/local/Cellar/python/x.x - -

官网pkg安装

安装

首先,登录 Python 官网,下载所需版本:Welcome to Python.

下载得.pkg文件,戳开安装之。会自动安装三样东西:

  • Python 框架:/Library/Frameworks/Python.framework/Version/x.x

  • Python 应用(如python自带IDE,Python launcher)目录:/Applications/Python x.x

  • 指向 Python 的连接:/usr/local/bin/{pydoc,python,pythonw,python-config,等}x.x

    指向/Library/Frameworks/Python.framework/Versions/x.x/{pydoc,python,pythonw,python-config,等}x.x

卸载

  • 删除框架
sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x
  • 删除应用目录
sudo rm -rf "/Applications/Python x.x"
  • 删除指向python的链接
cd /usr/local/bin/
ls -l /usr/local/bin | grep '/Library/Frameworks/Python.framework/Versions/2.7' # 查看链接
brew prune  # 清除链接和目录

清除后可再次查看链接,会发现链接已清除

brew安装

推荐使用homebrew安装python:

  • 可以指定python版本
  • 安装卸载方便,避免对系统自带的python版本误操作
  • 安装某些软件时会连带安装python包,如果系统中已安装该版本包,但不是用brew安装的,就会引起冲突,导致安装失败

安装

brew isntall python

卸载

brew unisntall python

conda安装虚拟环境

详见本文件夹下 conda的教程

替换系统python

依上法用pkg安装的python后,欲望替换系统python(但不要删除系统python),需如下操作。还原到原来的系统python (x.x=2.7),也如此。

开放系统文件夹修改权限

以“改变Python安装目录的用户组”,“修改Python当前安装目录的一些快捷方式” ,“重新建立新的命令符号链接”

重启电脑,长按⌘R,直到苹果logo出现,打开utility中终端,执行如下命令:

csrutil disable

然后点重启电脑

配置

移动 安装的Python框架 到 系统python框架 所在目录

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

改变Python安装目录的用户组

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

修改Python当前安装目录的一些快捷方式

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

链接替换

删除旧的命令符号链接

cd /usr/bin
sudo rm pydoc<v> python<v> pythonw<v> python<v>-config
  • <v> = “” 或 “x” 或 “x.x” , 如python<v> 可以是 “python” “python2” “python2.7”,分别用于替换默认的python、python2、python2.7

重新建立新的命令符号链接

cd /usr/bin
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/<V>/bin/{pydoc<v>,python<v>,pythonw<v>,python<v>-config} .
  • <V>=“x.x” 或 “Current”,“Current"是链接指向某个"x.x”

上述<v>,<V>的选择:

  • 替换"python",则<v>=“”,<V>=“Current”
  • 替换"pythonx"或"pythonx.x",则<v>=<V>=“x.x”

更新/root/.bash_profile文件中的路径,在~/.bash_profile插入下面的内容即可

# Setting PATH for Python x.x
# The orginal version is saved in .bash_profile.pysave
export PATH="/System/Library/Frameworks/Python.framework/Versions/x.x/bin:${PATH}

验证更改成功

现在重新启动一下终端,然后执行python<v> --version,得到Python x.x,即成功

如果在python程序中,需要使用下面代码获取python版本

import platform
print(platform.python_version())
# 返回 x.x 即成功

关闭系统文件夹修改权限

重启电脑,长按⌘R,直到苹果logo出现,打开utility中终端,执行如下命令:

csrutil enable

然后点重启电脑