Mac同时安装python2和python3

  Mac自带python2,但因为开发时所用但pythonkennel是3也可能是2,并且就算是python2,版本号也许和内置但python也有所不同。所以要怎么在 Mac 上同时安装质地昂但python2和python3的版本,并且和系统所使用的 Python 区分开来呢?

Step 1 安裝 Xcode

  可以到 App Store 搜索 Xcode安装,安装完成后打开,然后到teminal输入xcode-select--install

Step 2 安裝套件管理工具:Homebrew

  

可以到官网或是在 terminal 执行命令:

ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

安装完成后可以跑一下

brew doctor

如果出现

Your system is ready to brew.

代表安装成功,如果有 Warning也不用太担心,按照提示的步骤去修正就行
如果有出现 Warning 的话,会看到一句

If everything you use Homebrew for is working fine: please don’t worry and just ignore them.

不过还是建议把该装都都装好

Step 3 安裝 Python

首先,輸入

python--version

还没安装python就有了python都版本号,这是 Mac 系统使用的 Python,平常没事不要去乱动
接下来用 homebrew 安装平常可使用的 Python。

利用 homebrew 搜寻 Python

brew search python

会看到 python 和 python3。
已经安装都旁边会有 (installed)。

brew install python
brew install python3

安装的Python 会被安装在

/usr/local/Cellar
open/usr/local/Cellar/

python和python3安装完成,除了python之外也会安装一些其他东西如sqlite,不过我们不用管

Step 4 设定路径 $PATH(不跟系統 Python 打架)

什么是路径 $PATH 呢?

还记得我们在装 Python 的时候,输入了 brew,系统就会自动开始跑brew,不过系统怎么知道brew在哪里?这就是$PATH 的用途

# 执行
echo$PATH
# 得到
# /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
"""
分号(:) 是分隔的意思
当你在 terminal 里面输入brew时
系统会从 /usr/bin 找起
如果在 /usr/bin 找不到
就会往下一个 /bin 去搜尋,以此类推
"""

現在,回到资料夹去看,brew 就在 /usr/local/bin 里

现在的问题是:系统在 /usr/bin 里有一份 Python,我们在/usr/local/Cellar里也装了python,谁会被先执行?
来看看解决方法:

  系统的执行顺序写在/etc/paths中,按照里面的顺序执行,我们将文件中的/usr/local/bin写到首行即可。

sudo nano /etc/paths# terminal 会要求输入密码

得到

把 /usr/local/bin 移到上面去

之后,重启terminao后执行下面的命令,就可以看到修改的结果了

echo$PATH

Step 5 确认安装结果

which python# /usr/local/bin/python
which python3# /usr/local/bin/python3

Mac同时安装python2和python3的更多相关文章

  1. Mac下安装python2和python3共存

    一般是python2默认安装了,python3没有安装,这时候一般使用命令:brew install python3 进行安装 这里有个基础知识要记录一下,就是不同方法安装python的路径是不一样的 ...

  2. Window 同时安装Python2和Python3 终极版

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/vitaminc4/article/det ...

  3. 【转】Windows下安装python2和python3双版本

    [转]Windows下安装python2和python3双版本 现在大家常用的桌面操作系统有:Windows.Mac OS.ubuntu,其中Mac OS 和 ubuntu上都会自带python.这里 ...

  4. 电脑同时安装Python2和Python3以及virtualenvwrapper(转)

    电脑同时安装Python2和Python3以及virtualenvwrapper  https://www.jianshu.com/p/d22f19496e03   windows: 1 下载地址:P ...

  5. 在同一台电脑上同时安装Python2和Python3

    目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护. 到底是选择Python2还是选择Python3,取决于当前要使用的库.框架支持哪个版本. 例如:HTM ...

  6. win10下安装python2与python3以及pip共存

    一 分别安装python2和python3 注意: 安装时记得勾选 Add Python.exe to Path 二 安装pip Python3最新版本有pip,无需安装 Python2: 下载pip ...

  7. 当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)

    由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼 ...

  8. Python3: Windows系统上同时安装Python2和Python3

    Python3: Windows系统上同时安装Python2和Python3 为什么要同时安装Python2和Python3环境呢? 因为一些库只支持Python2或者Python3; 在同一台电脑上 ...

  9. 电脑同时安装python2和python3, 如何实现切换使用

    由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼 ...

随机推荐

  1. CentOS 7.5 安装KVM虚拟机(Linux)

    1.认识理解KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linu ...

  2. 【转】WPF 与 WinForm 间的按键值(枚举)转换

    There is a function for that in System.Windows.Input.KeyInterop static class. Try:var inputKey = Key ...

  3. maven 使用 国内镜像的方法 解决依赖下载慢

    转自:http://blog.csdn.net/banqgg/article/details/55804569 Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内 ...

  4. hive hbase区别

    1.hive是sql语言,通过数据库的方式来操作hdfs文件系统,为了简化编程,底层计算方式为mapreduce. 2.hive是面向行存储的数据库. 3.Hive本身不存储和计算数据,它完全依赖于H ...

  5. jquery.cookie.js写入的值没有定义

    这个是插件的基本语法,你写的没错,错就错在你肯定是在本地测试的,cookie是基于域名来储存的.意思您要放到测试服务器上或者本地localhost服务器上才会生效.cookie具有不同域名下储存不可共 ...

  6. Nmap备忘单

    #在推特上看到,感觉做的相当不错就转一波. 目标规格 开关 例 描述   nmap 192.168.1.1 扫描一个IP   nmap 192.168.1.1 192.168.2.1 扫描特定的IP地 ...

  7. docker被屏蔽后下载方法

    docker镜像默认的官网上传平台:https://hub.docker.com/,k8s运行时需要从google下载镜像(k8s.gcr.io),但该网被屏蔽了,怎样下载到所需镜像呢? 1. 可在知 ...

  8. 通过动态SQL语句创建游标

    DECLARE @sql varchar(100); DECLARE @TableName varchar(32); DECLARE @FieldName varchar(32); DECLARE @ ...

  9. 关于JVM内存的N个问题

    JVM的内存区域是怎么划分的? JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程:有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,是定位线上内存问题的基础 ...

  10. Python sqlite3操作笔记

    创建数据库 def create_tables(dbname): conn = sqlite3.connect(dbname) print "Opened database successf ...