1. 前言

Mac系统自带python2.7,本文目的是将自带的python升级到3.6版本。

网上有本多的做法是让python2.7和python3.X两个版本共存,博主并不知道,是两版本共存好,还是直接升级好,所以读者要慎重选择方法。

2. 关闭Rootless机制

由于Mac下的python2.7 默认是安装在/System目录下的。但是~~~Mac有个Rootless机制,默认不允许直接在/System下作修改。所以要先关闭Rootless机制。

关闭Rootless机制的方法:

关闭:

1).重启电脑, 重启过程中按住command+R, 进入恢复模式

2).打开terminal,键入: csrutil disable

3).重启电脑

如果之后要再开启Rootless机制,方法如下:

开启:

1).重启电脑, 重启过程中按住command+R, 进入恢复模式

2).打开terminal,键入: csrutil enable

3).重启电脑

3. 下载安装python3.6

从官网https://www.python.org/downloads/

下载pkg版本,并安装。安装选默认路径,会安装到/Library/Frameworks/Python.framework/Versions/目录下

4. 删除python2.7

sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7

1

5. 移动python3.6

将python3.6安装到/System/Library/Frameworks/Python.framework/Versions/目录下:

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

1

6. 修改文件所属的Group

设置Group为wheel,原来系统自带的就是这样的。

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

1

7. 更新一下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.6 /System/Library/Frameworks/Python.framework/Versions/Current

1

2

8. 重新链接可执行文件

1) 先把系统原来的执行文件删掉

sudo rm /usr/bin/pydoc

sudo rm /usr/bin/python

sudo rm /usr/bin/pythonw

sudo rm /usr/bin/python-config

1

2

3

4

2) 建立新的链接

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pydoc3.6 /usr/bin/pydoc

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /usr/bin/python sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pythonw3.6 /usr/bin/pythonw sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config /usr/bin/python-config

1

2

3

4

9. 更新.bash_profile文件

默认的bash_profile里python的bin是指向/Library/Frameworks/Python.framework/Versions/3.6/bin的。要改到/System/目录下

vim ~/.bash_profile (只要能编辑就行)
插入新的Python路径

# Setting PATH for Python 3.6

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

1

2

3

4

5

6

7

我默认是没有.bash_profile这个文件的,直接自己创建喽。

10. 卸载pkg安装的python3.6

这一步不做,在使用pip3命令时还是要出错的(它默认连接到/Library/目录下照pip3命令,但是实际上应该到/System/Library/目录下找)。博主掉这个坑好久。

我用的是CleanApp这个软件来卸载原来pkg安装的python3.6,安装进来的两个软件都卸载。

11. 测试

在命令行中,用pip -V和pip3 -V查看版本和位置。用python进入。

Mac下升级python2.7到python3.6,升级成功。

mac python2.7升级到3.7_Mac下python2.7 升级到3.7相关推荐

  1. linux python 升级脚本,Linux环境下python2.7.6升级python3.5.2

    需求 Linux环境下有些是自带的Python2版本有时是刚安装号的Python其他版本,当新版本出来的时候,在开发的时候往往会选择新版本的软件进行安装. 原因 在开发的时候选用新版本的软件进行安装的 ...

  2. python2安装包_解决win10下python2和python3共存问题

    前言 本文讨论在win10下解决python2和python3共存问题. 一.基础知识 1.python的安装: 分别下载Python2和Python3安装包,然后依次点击安装即可,安装包地址如下: ...

  3. vmware安装升级Linux内核,vm下linux内核升级实例

    本次采用的版本是CentOS 5.5,其原始的内核版本是2.6.18-194.el5 要升级到的版本是2.6.39.4 本次实验采用的内核是从官方下载的2系列的最后一个版本 [root@localho ...

  4. python2和python3如何共存_Windows下python2和python3的共存设置

    一.下载安装python2和python3解释器 下载方法很简单,直接到python的官网上进行下载https://www.python.org/downloads/windows/,分别选择pyth ...

  5. mac python2.7升级到3.7_Mac 升级 Python2.7 到 Python3.5

    2.安装之后,去  /Library/Frameworks/Python.framework/Versions/3.5 下检查一下是不是多了一个3.5 如果没有就在/System/Library/Fr ...

  6. Mac下python2.7 升级到3.7

    博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye GitChat 写博客 赚零钱 消息 原 Mac下升级python2.7到python3.6 2017年04月0 ...

  7. Mac下php 5升级到php 7的步骤详解

    前言 在MAC OS X 10.11中php的版本是5.5的,近来一年多里,看到了很多关于php7介绍,以为php7增加了很多新特性,也删除了原来很多的老特性,所以一直以来并没想去尝试使用php7,但 ...

  8. python环境配置(一)——Linux下将python2.6升级到2.7 安装pip 以及升级中遇到问题的解决方法

    python2.6版本有很多局限性:最重要的就是,当前最新的pip版本已经不再支持python2.6:这给我们安装很多python库增加了很多不便:所以这里把我升级python2.6--2.7的过程及 ...

  9. CentOS64位下python2.6升级到2.7的详细教程

    1)安装devtoolset yum groupinstall "Development tools" 2)安装编译Python需要的包 yum install zlib-deve ...

最新文章

  1. QuickMock:基于Express的快速mock平台
  2. 用typedef定义函数指针类型(转)
  3. (转)Apache Ant 环境开发Android应用 二
  4. Java程序员需要掌握的计算机底层知识(二):操作系统、内核、用户态与内核态、系统调用的执行过程
  5. 单链表逆置 java_单链表的就地逆置--java实现(含头节点和不包含头节点)
  6. Linux常用命令—权限管理命令—其他权限管理命令
  7. Zeppelin介绍
  8. MySQL高级知识(十六)——小表驱动大表
  9. 一文让你彻底弄清failfast、failsafe、failover、failback、failsilent
  10. sqlserver 提示“用户sa 登录失败 18456”问题解决过程
  11. c# Winform登陆界面设计,登陆用户不同权限设置
  12. 单片机24秒倒计时c语言,单片机汇编语言24秒倒计时程序
  13. 分部积分法的一些特殊方法
  14. Catalan number卡特兰数
  15. Android M应用启动流程分析
  16. Chrome(谷歌)浏览器调试教程珍藏版
  17. 临近小区分析-利用ArcGIS构建分析模型
  18. 800 篇顶会论文纵览推荐系统的前沿进展
  19. 华为2018实习生软件岗机试题目(2018.04.10)
  20. 华为云GaussDB开发者认证再辟新高峰,工作级认证等你来战

热门文章

  1. linux raid member,文件挂载时报错“linux_raid_member”
  2. DNS的域名的解析解决办法(openDNS)
  3. tomcat蛋疼的post字符串乱码问题
  4. 什么是4D(DRG、DLG、DOM、DEM)数据?(转自gisriver的空间)
  5. 如何像海豚一样在数据海洋里遨游?|Hbase数据处理流程详解
  6. OpenCV中傅里叶变换和反变换的运用
  7. 【ERP】ERP之薪资管理系统部分笔记
  8. python用input输入字典_python输入字典_输入字典python_python用input输入字典 - 云+社区 - 腾讯云...
  9. python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...
  10. 解决 macOS Monterey 启动不了泰拉瑞亚 (sdl2)