转自:https://blog.csdn.net/hou_manager/article/details/79555809

一、Python 介绍

Python介绍

Python3在2008年12月3日正式发布, 但是有很多library还是使用Python2.7,所以需要在Mac里面同时装这两个版本,并且和系统所使用的Python区分开来呢?今天要写的是如何第一次就正确安装好,并且切换预设版本,不在误用系统的Python。

二、安装

STEP 1 安装Xcode

安装完成后 安装 Xcode command line tool

xcode-select --install

STEP 2 安装Homebrew

可以参考官网或者直接粘贴:

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

STEP 3 安装Python

接下来要正式进入安装Python的步骤了!
首先,输入

python --version 

这是Mac系统要使用的Python,不去动它。所以现在我们要用homebrew来安装自己使用的Python。

利用homebrew搜索Python

brew search python

开始安装:

brew install python

python3安装成功

若想安装python2,执行以下命令

brew install python@2

表示python安装成功

查看安装的目录

open /usr/local/Cellar

STEP 4 设定路径$PATH (不和系统Python干扰)

什么是路径$PATH呢?

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

echo $PATH

如图所示

分号(:)是分隔的意思
所以当你在terminal里面输入brew时
系统就会开始从/usr/bin找起
如果在/usr/bin里面找不到的话
就会往下一个/bin去搜寻,以此类推

现在,我们回到文件夹去看
brew其实就在/usr/local/bin里面

所以现在的问题就是,系统在/usr/bin里面也有一份Python
现在我们在/usr/local/Cellar里面也装了Python
这样在terminal打上python指令时,谁会被开启呢?
因为路径有顺序,所以它会先找到系统的Python
现在就要来解决这个问题

sudo emacs /etc/paths

sudo让我们取得管理员权限
用emacs这个程序编辑路径档案
terminal会要求输入密码

如果不是这个顺序,调整成这个顺序。

control + k:把一行字剪下来
control + y:把字粘贴
control + x + s:存盘
control + x + c:关掉emacs

这时,重启terminal 会看到变化,再打一次

echo $PATH

STEP 5 安装完成,确认结果

这样就完成啰!
其实python3本身比较不会跟其他人打架

MAC中怎么安装python的更多相关文章

  1. 在 mac 系统上安装 python 的 MySQLdb 模块

    在 mac 系统上安装 python 的 MySQLdb 模块 特别说明:本文主要参考了Mac系统怎么安装MySQLdb(MySQL-Python) 第 1 步:下载 MySQL-python-1.2 ...

  2. Mac使用pyenv安装Python出现The Python zlib extension was not compiled. Missing the zlib错误

    Mac使用pyenv安装Python出现The Python zlib extension was not compiled. Missing the zlib错误 参考这里,详细如下: On Mac ...

  3. Mac中编译安装Qt 4.4

    解压下载到的.gz源码:gunzip xxx.tar.gztar xvf xxx.tar, 其实在Mac中可以直接双击解压的.然后定位到解压后的目录下:./configuremakesudo make ...

  4. Mac中MacPorts安装和使用

    文章转载至http://www.zikercn.com/node/8 星期四, 06/07/2012 - 19:02 - 张慧敏 MacPorts简单介绍 MacPorts,以前叫做DarwinPor ...

  5. ALC662 在Mac中的安装

    最近在装黑苹果,一切还算顺利(整了两周),就是ICH7的ALC662一直无法驱动成功.经过两天的爬文,终于成功了.以下是我的一点经验. 我装的是最新的10.9.2,显卡驱动是自带的(我的显卡为GT62 ...

  6. Mac中MacPorts安装和使用 MacPorts简介

    MacPorts,曾经叫做DarwinPorts,是一个软件包管理系统,用来简化Mac OS X和Darwin操作系统上软件的安装.它是一个用来简化自由软件/开放源代码软件的安装的自由/开放源代码项目 ...

  7. MAC系统里安装 Python

    首先MAC系统自带Python2.6/2.7.这是因为有些系统文件需要.但是对于我来说,我需要用到Python3,所以需要自己下载安装.这时候,就有一个非常强大的软件 Homebrew.(安装方法见官 ...

  8. Pycharm中如何安装python库

    1首先打开pycharm工具,选择File中的Setting选项,如下图所示 2在打开的setting界面中我们点击python的解释器,你会看到很多导入的第三方库,如下图所示,点击最右边的加号 3在 ...

  9. Mac中Eclipse安装和使用svn

    Eclipse版本为Neon Release (4.6.0) 安装svn 安装HomeBrew 在终端中输入 ruby -e "$(curl -fsSL https://raw.github ...

随机推荐

  1. Java内存问题:java.lang.OutOfMemoryError: PermGen space

    代码运行环境: jdk1.7.0_25 apache-tomcat-8.0.30 详细报错日志: org.springframework.web.util.NestedServletException ...

  2. javascript特效源码(2、图像特效)

    1.不停闪烁的图像 不停闪烁的图片[修改显示的图片及链接地址后根据说明进行共1步] 1.以下代码放在一个新建页面的HTML的<body></body> 区即可:[页面上必须什么 ...

  3. naptime

    naptime 有一个长度为n的序列\(a_i\),首尾相接组成了一个环,现在要在这个环上选出若干个区间,使区间长度之和恰好为b,然后忽略区间的顺时针开头元素,权值累加区间中所有的数字,问权值的最大值 ...

  4. python csv write 乱码

    参考 : https://www.zhihu.com/question/34201726 1.使用utf_8_sig with open('d:/file.csv', 'w', encoding='u ...

  5. leetcode--81-搜索旋转排序数组②

    题目描述: 33题 方法一: class Solution: def search(self, nums: List[int], target: int) -> bool: l, r = 0, ...

  6. Python 变量与数据类型

    1.变量命名规则: 变量名只能是字母,数字和下划线的任意组合 变量名第一个字符不能是数字 变量名区分大小写,大小写字母被认为是两个不同的字符 特殊关键字不能命名为变量名 2.数值的运算 print ( ...

  7. 洛谷 P1941 飞扬的小鸟 (NOIP 2014)

    题面 题解 背包细节题,wa了一片,上升的过程我们可以看做一个完全背包(多重背包好像跑不过去),下降 过程是一个0/1背包,为了避免冲突应该先跑多重,先跑0/1就有可能产生这个点又上升又下降的 非法情 ...

  8. zabbix--------配置邮件报警功能---服务器上配置---------

    --------配置邮件报警功能---服务器上配置--------- [www.aa.com@ ~]# yum install mailx -y [www.aa.com@ ~]# vi /etc/ma ...

  9. 安装zabbix需要php的两个模块php-bcmath和php-mbstring(转)

    安装zabbix需要php的两个模块php-bcmath和php-mbstring 原创 Linux操作系统 作者:甲骨文技术支持 时间:2018-02-24 18:35:24  1472  0 1. ...

  10. javascript 数组的方法(一)

    栈方法(后进先出) ArrayObj.push():就是向数组末尾添加新的元素,返回的是数组新的长度. ArrayObj.pop():就是向数组中删除数组最后一个元素并且返回该元素.如果数组为空就返回 ...