Mac python 2.X 升级到 3.X

时间:2022-09-09 14:59:02

Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧。基本步骤如下。

第1步:下载Python3.3
下载地址如下:
Python3.3
这里面有windows和mac os x下的安装程序,下载那个64位的安装程序(估计现在没有用32位的mac os x的吧)

第2步:
安装下载的img文件,安装完后的目录如下:
/Library/Frameworks/Python.framework/Versions/3.3
第3步:移动python的安装目录
原来的安装目录见第2步,不过所有的python都在
/System/Library/Frameworks/Python.framework/Versions
目录中,所以最好使用下面的命令移动一下,当然不移动也可以。但后面步骤中的某些路径需要修改下。
sudo mv /Library/Frameworks/Python.framework/Versions/3.3 /System/Library/Frameworks/Python.framework/Versions
第4步:改变Python安装目录的用户组为wheel
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.3
python2.7的用户组就是wheel,3.3也照葫芦画瓢吧!

第5步:修改Python当前安装目录的符号链接
在 /System/Library/Frameworks/Python.framework/Versions/目录下有一个Current,这是一个目 录符号链接,指向当前的Python版本。原来指向2.7的,现在指向3.3。所以应先删除Current。然后重新建立Current符号链接,命令如 下:
sudo rm /System/Library/Frameworks/Python.framework/Versions/Current
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.3 /System/Library/Frameworks/Python.framework/Versions/Current
第6步:删除旧的命令符号链接
在/usr/bin目录下有4个python命令的符号链接,使用下面的命令先删除
sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config
第7步:重新建立新的命令符号链接
将第6步删除的符号链接重新使用下面命令建立,它们都指向Python3.3了。
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.3/bin/pydoc3.3 /usr/bin/pydoc
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3 /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.3/bin/pythonw3.3 /usr/bin/pythonw
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3m-config /usr/bin/python-config
第8步:更新/root/.bash_profile文件中的路径
cd ~

vim .bash_profile
在.bash_profile插入下面的内容即可
// Setting PATH for Python 3.3
// The orginal version is saved in .bash_profile.pysave
PATH="/System/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}"
export PATH
ok,现在重新启动一下Console,然后执行python --version,得到的就是Python 3.3.3。如果在程序中,需要使用下面代码获取python版本
import platform
print(platform.python_version())
如果还是用了如PyDev等IDE,仍然需要更新一下相关的路径。
现在可以使用最新的Python3.3.3了。

如果没有权限可以尝试一下方法:
Mac OS X 上如何切换默认的 Python 版本?
系统版本OS X Yosemite 10.10.3,自带的Python版本是2.7.9。
python3.4已经成功安装,在Terminal里输入命令python3.4可以正常用3.4.3工作,但是输入命令python则还是默认是2.7.9
请问该如何做到,在终端里直接输入“python”命令就会运行3.4.3的py版本?

谢谢各位回答,问题解决了

首先终端的“python”命令会执行/usr/local/bin下的“python”链接,链接相当于win下的快捷方式,现在链接指向了python2.7.9的解释器。我们改一下这个链接就好了,建议先备份这个“python”链接,比如像我:
mv /usr/local/bin/python /Users/python_backup
接着把3.4.3的解释器做一个链接到原目录下,请适当修改相关路径:
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 /usr/local/bin/python

或者
直接在.profile加一个alias就可以了。如果你的Terminal运行的shell是bash(默认),可以修改~/.bash_profile,添加下行(具体的path取决于你的python3安装路径):
alias python="/System/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4"

Mac python 2.X 升级到 3.X的更多相关文章

  1. Centos 6.4 python 2.6 升级到 2.7

    Centos 6.4 python 2.6 升级到 2.7 分类: Python Linux2013-09-13 21:35 37278人阅读 评论(2) 收藏 举报 一开始有这个需求,是因为用 Ya ...

  2. CentOS6.5 python 2.6升级到2.7

    在CentOS6.5下,将自带的python2.6.6升级到python2.7.3,解决方法如下: 下载python2.7.3包,并解压缩,输入命令:#wget http://python.org/f ...

  3. CentOS 7.0 下 Python 2.7 升级到 Python 3.5

    前段因为时间工作需要,要把 Centos 7.0 默认安装的 Python 2.7 升级到 Python 3.5. 具体操作如下: # 安装 gcc gcc-c++ 等编译工具软件 yum insta ...

  4. python - selenium 2 升级到最新版本

    python - selenium 2 升级到最新版本 之前一直用的是selenium 2.48 .firefox36 而实际用户的浏览器可能都有自动更新功能,所以版本基本上是最新的.所以这次专门做了 ...

  5. (干货分享)mac python+appium环境搭建

    因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...

  6. CentOS 6.X Python 2.6升级到Python 2.7 【转】

    前言:一些第三方框架为了降低复杂性,新的版本已经开始不支持旧版本的python,比如Django这个web框架1.8版本及以上仅仅只支持python2.7及以上版本(记忆中是这个1.8版本),pip安 ...

  7. mac下python2.7升级到3.6

    1. 前言 Mac系统自带python2.7,本文目的是将自带的python升级到3.6版本. 网上有本多的做法是让python2.7和python3.X两个版本共存,博主并不知道,是两版本共存好,还 ...

  8. Python: 使用pip升级所有包

    pip 当前内建命令并不支持升级所有已安装的Python模块. 列出当前安装的包:  pip list 列出可升级的包:  pip list --outdate 升级一个包:  pip install ...

  9. 【Mac + Python】苹果系统之安装Python3.6.x环境

    一.打开终端 输入:uname -a  ,查看电脑系统位数. 输入:python,查看mac系统python版本. 二.为了以后切换版本方便,安装pyenv进行版本切换以及升级. 参考文章:<M ...

随机推荐

  1. 基于 getter 和 setter 撸一个简易的MVVM

    Angular 和 Vue 在对Angular的学习中,了解到AngularJS 的两个主要缺点: 对于每一次界面时间,Ajax 或者 timeout,都会进行一个脏检查,而每一次脏检查又会在内部循环 ...

  2. 【转载】async &amp&semi; await 的前世今生(Updated)

    async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...

  3. 【原创Android游戏】--猜数字游戏Version 0&period;1

    想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...

  4. webService 发送soap请求,并解析返回的soap报文

    本例应用场景:要做一个webService测试功能,不局限于任何一种固定格式的webService,所以像axis,cxf等框架就不好用了.只有深入到webService的原理,通过发收soap报文, ...

  5. Java虚拟机(JVM)

    Java虚拟机 Java字节码通过类加载器(Class Loader)为程序的执行加载所需要的全部类.在类的加载过程中,由于是按照先加载启动类库.再加载扩展类库最后加载用户自定义类库的顺序,从而避免一 ...

  6. java连接VMware虚拟机Oracle数据库问题

    最近在电脑上装了虚拟机,为的是在虚拟机上安装Oracle数据库,Oracle实在太占内存,配置低的电脑装个Oracle几乎就瘫了,没办法,搞个虚拟机玩玩.我虚拟机用的是xp系统,顺便怀念下经典.装好O ...

  7. Jenkins in OpenCASCADE

    Jenkins in OpenCASCADE eryar@163.com Abstract. Jenkins是一个开源软件项目,是基于Java开发的一个持续集成工具,用于监控持续复制的工作,旨在提供一 ...

  8. Find Unique pair in an array with pairs of numbers 在具有数字对的数组中查找唯一对

    给定一个数组,其中每个元素出现两次,除了一对(两个元素).找到这个唯一对的元素. 输入:第一行输入包含一个表示测试用例数的整数T.然后T测试用例如下.每个测试用例由两行组成.每个测试用例的第一行包含整 ...

  9. Go笔记-结构体

    [定义] type identifier struct{ field1 type1 field2 type2 ... } // 声明 var s identifier identifier.field ...

  10. JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...