首先需明确:

Mac 电脑上自带有 python
查看默认的 python 版本,打开终端输入命令 python,即可看到如下内容:

我的系统版本OS X 10.13.2,自带的Python版本是2.7.10。
其次:

  • Mac系统自带的python环境在:

    Python 2.7.: /System/Library/Frameworks/Python.framework/Versions/2.7
    其中,解释器在该目录下的 ./bin/python2.
    Python 2.6.: /System/Library/Frameworks/Python.framework/Versions/2.6
    其中,解释器在该目录下的 ./bin/python2.
  • 用户安装的python环境默认环境在:
    Python 3.4.:/Library/Frameworks/Python.framework/Versions/3.4
    其中,解释器在该目录下的 ./bin/python3.
    Python 2.7.:/Library/Frameworks/Python.framework/Versions/2.7
    其中,解释器在该目录下的 ./bin/python2.

注意:一般用户再装一遍 python 环境的时候,在终端的输入 python 命令,默认启动的 python 命令是当前用户安装的 python 版本环境(即:系统默认的 py 启动路径,由原来的 mac 系统默认的解释器变为当前用户安装的 py 解释器)

  • 用户安装Anaconda3后,自带的python环境在:

    Python 3.4.: /Users/steven/Anaconda3 (anaconda在安装时候的自定义路径)
    其中,解释器在该目录下的 ./bin/python3.
  • 用户安装anaconda后,自带的python环境在:
    Python 2.7.:  /Users/Steven/anaconda
    其中,解释器在该目录下的 ./bin/python2.

注意一个小问题(跟本题无关):

在命令行下,直接输入

StevenLiu-MacBookPro:bin steven$ pwd
/Users/steven/Anaconda3/bin #在python3的环境变量下
StevenLiu-MacBookPro:bin steven$ ./python #根据当前路径找解释器
Python 3.4. |Anaconda 2.1. (x86_64)|(default, Sep , ::)
[GCC 4.2. (Apple Inc. build )] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>quit()
StevenLiu-MacBookPro:bin steven$ python#如果没有输入“./”,则进入的是系统当前默认的python环境
Python 2.7. |Anaconda 2.1. (x86_64)|(default, Aug , ::)
[GCC 4.2. (Apple Inc. build )] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
# 这里由于设置了anaconda中的python解释器为默认的python,所以不是 /Library/Frameworks/Python.framework/Versions/2.7

其他:

Mac系统自带的python环境默认启动路径在:/usr/bin
用户安装的python环境默认启动路径在:/usr/local/bin
终端输入: “python”命令会执行/usr/local/bin下的“python”——在没有配置文件改变该默认路径的条件下。

最终答案(重点):

Mac在启动,会先加载系统配置文件(包括~/.bash_profile  ),所有默认的命令的路径,将会配配置文件(比如:~/.bash_profile)中的路径覆盖,并且,是后面覆盖前面的路径:例如,在终端输入“python”,系统会在配置文件中的路径查找,一直到找到位置(在配置文件中从后向前找):
例如:当前.bash_profile的内容为:
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH # Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
export PATH # added by Steven Liu
export PATH="/Users/steven/Anaconda3/bin:$PATH" # added by Anaconda 2.1. installer
export PATH="/Users/steven/anaconda/bin:$PATH" # added by Anaconda3 2.1. installer
export PATH="/Users/steven/Anaconda3/bin:$PATH" # Setting PATH for Subversion 1.9.
export PATH="/opt/subversion/bin:$PATH" #export PATH="/usr/bin:$PATH"

根据该脚本,先会去找 /opt/subversion/bin 中,有没有命名为 “python” 的可执行文件(或是快捷方式),如果没有,则往上找,接着找 /Users/steven/Anaconda3/bin ,发现有,就为当前路径下的解释器环境。—— 所以,想设置python的版本,直接把你想添加的路径export上去,并放在后面。实测有效!

参考:https://www.zhihu.com/question/30941329

mac python 安装参考的更多相关文章

  1. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环

    一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿三的安装视频:http://v.youku.com/v_sh ...

  2. 【mac osx安装opencv,python总结】

    在macosx下安装opencv,最大的困难在于协调python版本.由于在opencv官网上,强烈建议安装完整版的python(不建议使用mac 内置的python),所以会碰到这个多个python ...

  3. Python 环境搭建(Win 安装以及Mac OS 安装)

    千里之行始于足下,今天我们先来学习 Python 环境搭建. 注意:本系列教程基于 Python 3.X Python 环境搭建 Win 安装 打开 Python 官网 https://www.pyt ...

  4. mac下Python安装路径的说明

    Python安装路径的说明 mac在安装Python时, 对不同的安装方式 不同的型号均会安装在不同的文件夹下 安装方式 路径 系统默认(2.7) /System/Library/Frameworks ...

  5. 学习tensorflow之mac上安装tensorflow

    背景 听说谷歌的第二代机器学习的框架tensorflow开源了,我也心血来潮去探探大牛的产品.怎奈安装就折腾了一天,现在整理出来备忘. tensorflow官方网站给出的安装步骤很简单: # Only ...

  6. Python 安装、循环语句、数据类型(一)

    一.关于版本的选择 Should i use Python 2 or Python 3 for my development activity?转载自Python官网 Short version: P ...

  7. Mac下安装pyenv

    mac 用virtualenv安装py3.6的虚拟环境报错(virtualenv -p /usr/bin/python3 env36), 解决的话需要安装zlib包, 然后去掉configure配置里 ...

  8. Mac + PyCharm 安装 Opencv3 + python2.7

    本文地址:http://www.cnblogs.com/QingHuan/p/7354074.html 转载请注明本文地址,方便读者查看本文更新,谢谢! 今天要在Mac上安装OpenCV,过程非常曲折 ...

  9. Python安装及简介

    Python简介 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

随机推荐

  1. 01_14_Struts2_结果类型_result_type

    01_14_Struts2_结果类型_result_type 1. result类型 result类型 说明 dispatcher 默认服务端转发jsp chain 服务端action转发 redir ...

  2. https及其背后的加密原理阅读总结

    https是以安全为目标的http通道,简单讲是http的安全版.当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障. 首先数据在传输的过 ...

  3. 微信小程序的开发——01小程序的执行流程是怎样的?

    作者:叶小钗 转载至:https://www.cnblogs.com/yexiaochai/p/9346043.html 我们这边最近一直在做基础服务,这一切都是为了完善技术体系,这里对于前端来说便是 ...

  4. Linux下面自动清理超过指定大小的文件

    Linux下面自动清理超过指定大小的文件 思路:1)查找test目录下的所有的文件2)判断是否大于100M3)大于100M则清空 以byte为单位显示文件大小,然后和100M大小做对比. 100M换算 ...

  5. java util - 中文、繁体转成拼音工具pinyin4j

    需要 pinyin4j-2.5.0.jar 包 代码例子 package cn.java.pinyin4j; import net.sourceforge.pinyin4j.PinyinHelper; ...

  6. Kubernetes master服务定制编译docker镜像

    前言 之前部署了Kubernetes 1.13.0,发现master服务的启动方式与1.10.4版本有所区别,kube-apiserver.kube-controller-manager和kube-s ...

  7. Redis实现之数据库(二)

    设置键的生存时间或过期时间 通过EXPIRE或PEXPIRE命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间(Time To Live,TTL),在经过指定的秒数或者毫秒数之后,服务器就 ...

  8. 01-Flutter移动电商实战-项目学习记录

    一直想系统性的学习一下 Flutter,正好看到该课程<Flutter移动电商实战>的百度云资源,共 69 课时,由于怕自己坚持不下去(经常学着学着就不学了),故采用博客监督以记之. 1. ...

  9. loj2065 「SDOI2016」模式字符串

    ref不是太懂 #include <iostream> #include <cstring> #include <cstdio> using namespace s ...

  10. 【IPv6】ISATAP隧道技术详解

    一.基本概念       ISATAP(Intra-SiteAutomatic Tunnel Addressing Protocol)    ISATAP是一种非常容易部署和使用的IPv6过渡机制.在 ...