Mac 系统自带python,不过自带的python版本都是2.*版本。虽然不影响老版本项目的运行,

但是python最新的3.*版本的一些语法与2.*版本并不相同,我们不论是学习还是使用,当然用最新版会更好一点。

一、先了解一下Mac自带的版本

选择前往文件夹,输入下面地址:

/System/Library/Frameworks/Python.framework/Version

就可以看到这里有多个python版本,而在Current目录下存放的是系统当前的python版本。

Mac既然自带了python,当然肯定配置好了python的全局命令,我们直接在终端运行:

python

当前Mac自带的python版本为 2.7.10

二、开始安装

主要就这几个步骤而已,不会太困难的(或许有些你本来就装好了)

Step 1 安装Xcode

Step 2 安装套件管理工具Homebrew

Step 3 安装Python

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

Step 5 完成!确认安装结果

Step 1 安装Xcode

可以到App Store搜寻Xcode并安装安装好了之后就把Xcode打开~第一次开启的时候会需要同意他的License Agreement之类的东西。然后到terminal输入来安装Xcode command line tool:

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)"

如果是权限问题 需要先执行

sudo -i

再执行

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

python2安装成功

brew install python3

python3安装成功

查看安装的目录

open /usr/local/Cellar/

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

什么是路径$PATH呢?

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

echo $PATH 
如图所示

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

现在,我们回到文件夹去看

open /usr/local/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本身比较不会跟其他人打架
因为他就是独立的python3
所以我们主要是要确认是不是读到我们用brew装的python

python3

如图所示带便安装成功。

如果想使用系统的Python,就输入

/usr/bin/python

 

Mac 安装python 3.*新版本的详细步骤的更多相关文章

  1. mac 安装 python 配置||虚拟环境

    前篇:http://www.cnblogs.com/ostrich-sunshine/p/8747791.html 介绍了 Mac 下 python 的一些相关知识. 这篇介绍 python3 的安装 ...

  2. Mac安装python细节

    前言 之前在windows平台上安装python直接用Anaconda,优点是所有的科学计算的库都整合进去了,安装方便.在Mac系统下,当然也可以直接安装Anaconda,但是考虑到Mac会自带pyt ...

  3. Mac安装python 环境& pychaem

    一.文档说明 在Mac上其实自带python环境,但是很多的library安装python是2.7的版本. 验证:可以在终端Terminal中输入:python 如下图是未安装之前,但是咱们需要在自己 ...

  4. mac 安装 python mysqlclient 遇到的问题及解决方法

    在 mac 上安装 mysqlclient 遇到了一些问题,查找资料很多人都遇到了同样的问题.通过资料和试验,成功了.这里记录一下,希望帮到遇到同样问题的人. 本人使用python3, 安装步骤如下: ...

  5. 在CentOS6.4中安装配置LAMP环境的详细步骤

    本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要ro ...

  6. MAC安装python jupyter notebook

    介绍: Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言. Jupyter Notebook 的本质是一个 Web 应用 ...

  7. Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤

    虚拟环境的创建和使用 用途: ​ 1.在同一台电脑安装同一个包的不同版本 2.记录项目所用的所有的包的版本,方便部署. 如何使用: 1.创建虚拟环境 mkvirtualenv 虚拟环境名 -p pyt ...

  8. 在CentOS6.4中安装配置LAMP环境的详细步骤 - Leroy-LIZH

    本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要ro ...

  9. Android Studio安装配置、环境搭建详细步骤及基本使用

    前言 Android Studio的安装配置及使用篇终于来啦~ 废话不多说,以下针对JDK正确安装(及其环境变量配置完毕,即Java开发环境下).Android Studio的安装,配置,以及创建工程 ...

随机推荐

  1. 【JVM从小白学成大佬】3.深入解析强引用、软引用、弱引用、幻象引用

    关于强引用.软引用.弱引用.幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用. 在java语言中, ...

  2. Top11 构建和测试API的工具

    立刻像专业人士一样构建API 组织正在改变他们已经在软件应用项目中成功的微服务架构模型,这就是大多数微服务项目使用API(应用程序接口)的原因. 我们要为微服务喝彩,因为它相对于其他的模型有各种先进的 ...

  3. Demo小细节-2

    今天在牛客的题海中再次找虐,题目如下: public class B { public static B t1 = new B(); public static B t2 = new B(); { S ...

  4. Oracle数据库测试和优化最佳实践: OTest介绍 (转)

    当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...

  5. 基于springboot的websocket聊天室

    WebSocket入门 1.概述 1.1 Http #http简介 HTTP是一个应用层协议,无状态的,端口号为80.主要的版本有1.0/1.1/2.0. #http1.0/1.1/2.0 1.HTT ...

  6. MyBatis 封装Map,返回不同实体的集合对象

    现在有一个需求,就是从100个表中获得任意表中的数据,按照正常的思维模式和处理方式, 我们首先会创建100个实体类(累死!),然后通过resultType一一对应实体类,这种方式简直...  那么我们 ...

  7. JavaScript 防抖

    JavaScript 防抖 在前端开发中会遇到一些频繁的事件触发,比如: window 的 resize.scroll mousedown.mousemove keyup.keydown...   防 ...

  8. Delphi - 使用Pos、Copy函数定位和截取字符串

    使用Pos函数来定位子字符串第一次出现的位置 函数定义: Function Pos(Substr: String, S: String): Integer; 表示取出Substr在S中第一次出现的位置 ...

  9. 牛客 136G-指纹锁 set容器重载

    136G-指纹锁 题意: 设计一个容器,支持插入x,若与容器中的值最小相差为k,则自动忽略.删除操作,把与x相差为k的值都从容器中删除.查询操作,问容器中有没有和x相差为k的数值. 思路: 一个stl ...

  10. Codeforces Round #364 (Div. 2) D. As Fast As Possible 数学二分

    D. As Fast As Possible 参考:https://blog.csdn.net/keyboardmagician/article/details/52769493 题意: 一群大佬要走 ...