一、Mac下,可能存在的 python 环境:

1、Mac系统自带的python环境在(由于不同的 mac 系统,默认自带的 python 版本可能不一样):

Python 2.7.10: /System/Library/Frameworks/Python.framework/Versions/2.7

其中,解释器在该目录下的 ./bin/python2.7

Python 2.6.9: /System/Library/Frameworks/Python.framework/Versions/2.6

其中,解释器在该目录下的 ./bin/python2.6

2、用户安装的python环境默认环境在:

Python 3.4.2: /Library/Frameworks/Python.framework/Versions/3.4

其中,解释器在该目录下的 ./bin/python3.4

Python 2.7.7: /Library/Frameworks/Python.framework/Versions/2.7

其中,解释器在该目录下的 ./bin/python2.7

注意:一般用户再装一遍python环境的时候,在终端的输入python命令,默认启动的python命令是当前用户安装的python版本环境

(即:系统默认的py启动路径,由原来的mac系统默认的解释器变为当前用户安装的py解释器 —— 参考本文最下面的可执行命令的寻找顺序问题)

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

Python 3.4.1: /Users/steven/Anaconda3   

其中,解释器在该目录下的 ./bin/python3.4

(Anaconda3这个文件夹名,是在anaconda在安装时候的需要自定义的)

4、用户安装Anaconda后,自带的python环境在:

Python 2.7.8: /Users/steven/anaconda

其中,解释器在该目录下的 ./bin/python2.7

对于以上各环境,要想知道当前环境下的包路径,可通过一下命令查询:

import sys

print('\n'.join(sys.path))

该方法在排查包的引用问题的时候,特别有用!

二、关于以上的不同 python 环境的启动命令存储路径,以及启动(查找)顺序:

以上介绍了不同python环境所存放的目录,那在使用过程中,到底启动的是哪个环境呢?

首先:

1、Mac系统自带的python环境默认启动路径在:/usr/bin

2、用户安装的python环境默认启动路径在:/usr/local/bin

3、第三方的 python 环境,比如 anaconda 中的 python 环境,默认启动配置在文件中,通常为:~/.bash_profile

(.bash_profile 是在bash(默认的 shell 环境下)的配置文件,像我的电脑现在是 zsh 的 shell 环境,配置文件为.zshrc)

重点来了:

输入 python 命令是:会按照321的顺序查找含有 python 可执行文件,并执行。

该顺序同样适用于,mac 下所有的可执行命令的查找顺序!!!

三、怎么把自己安装的 python 版本设置为默认启动版本:

通过二,我们知道 python 在多版本的环境下的查找顺序:Mac在启动后,会先加载系统配置文件(包括~/.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.0 installer
export PATH="/Users/steven/anaconda/bin:$PATH"# added by Anaconda3 2.1.0 installer
export PATH="/Users/steven/Anaconda3/bin:$PATH"# Setting PATH for Subversion 1.9.0
export PATH="/opt/subversion/bin:$PATH"

根据该脚本,先会去找 /opt/subversion/bin 中,有没有命名为“python”的可执行文件(或是快捷方式),发现没有,则往上找,接着找 /Users/steven/Anaconda3/bin ,发现有,就为当前路径下的解释器环境,并执行。

—— 所以,想设置python的版本,直接把你想添加的路径export上去,并放在后面。实测有效!

但是有个细节需要特别注意:

在添加了所需的路径在配置文件的最后之后,如果要想立即看到效果,需要两个步骤:

1.执行 soure .bash_profile;

2.新建 command 窗口查看效果(之前已经打开的窗口是看不到效果的)


四、关于多个 python 环境的卸载问题:

有时候安装的python版本太多,尤其 python 又分2和3,难免安装的东西会乱窜,为避免这种情况,可以试着删除自己安装的某些环境。

删除环境分几步:

1、删除Python框架

sudo rm -rf /Library/Frameworks/Python.framework/

如果有多个版本,而只需要删除一个版本,则:sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x

2、删除Python程序
sudo rm -rf “/Applications/Python x.x”

3、删除/usr/local/bin目录下的Python连接

brew prune

该命令的输出通常形为:Pruned 48 symbolic links and 18 directories from /usr/local

4、可选步骤:通过brew(Homebrew,是Mac OSX上的软件包管理工具)重新链接新的 python 环境:

brew doctor ——> 通过该命令诊断系统中当前的环境配置情况

sudo brew link python3 ——> 链接到新的 python3环境

其他可参考:http://stackoverflow.com/questions/22774529/what-is-the-safest-way-to-removing-python-framework-files-that-are-located-in-di

五、在执行可执行命令时,有一个小问题需要特别注意:当该命令在多个目录下存在时,到底调用的是什么路径下的命令?

以 python 命令为例:

如果输入带有“./”,则进入的当前目录的python环境

StevenLiu-MacBookPro:bin steven$ pwd
/Users/steven/Anaconda3/bin    # 显示当前目录在python3的环境变量下
StevenLiu-MacBookPro:bin steven$ ./python    # 根据当前路径找解释器
Python 3.4.1 |Anaconda 2.1.0 (x86_64)| (default, Sep 10 2014, 17:24:09)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

如果输入不带有“./”,则进入的是系统当前默认的python环境

StevenLiu-MacBookPro:bin steven$ python
Python 2.7.8 |Anaconda 2.1.0 (x86_64)| (default, Aug 21 2014, 15:21:46)
[GCC 4.2.1 (Apple Inc. build 5577)] 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 环境问题相关推荐

  1. Mac下python初学之Image库(PIL)

    Mac下python 使用Image库 安装PIL,下载http://www.pythonware.com/products/pil/ 解压PIL源码包,阅读README知道需要使用python se ...

  2. Mac下python升级

    对Mac下python自带的2.7版本进行升级 Mac下自带的2.7版本对于一些新学python的然来说有点老,所以可以进行简单的版本升级: 1.首先进入 python官网 进行下载,根据你所需的版本 ...

  3. Mac下python及其库的安装 (附最新pycharm激活)

    Homebrew安装 brew是用来安装管理Mac系统使用的程序 ,通过brew install name 来进进行安装 下载安装程序的目录为 /usr/local/Cellar 然后通过 /usr/ ...

  4. mac 下 python 批量删除 PDF 中的某些页面

    去网上找 python 处理pdf的库,大多都会给你推荐 PyPDF2,其实这个库早已经过时了. 这里展示下如何用Python3删除pdf文件中的某些页面: import pikepdfwith pi ...

  5. mac系统如何转换python版本_[转]mac下Python升级到指定的版本

    以2.7升级到3.3为例 1.删除原版本 a)删除系统库中的版本 sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7 ...

  6. python 虚拟环境 mac,Mac下python 虚拟环境安装

    1.安装 virtualenv pip3 install virtualenv (默认安装的版本是 virtualenv 20.4.0) 2.创建虚拟环境,参考廖雪峰老师的教程 https://www ...

  7. Mac下python+selenium【2】获取表格所有元素

    写在最前面: 一点selenium自动化测试的常用技巧介绍,小白专用. 我邮的研究生网站上的一个table,想要把所有的信息扒下来,怎么处理呢? <tr height="19" ...

  8. macbook自带python保存文件夹_在mac下查找python包存放路径site-packages的实现方法 在Mac系统下python如何安装第三方函数库?...

    mac怎么查看python的site-package位置世界上最伤心的事,不是你爱的人不爱你,而是他爱你过后,最后却不爱你. 可以通过find命令查看,参考demo如下: sudo find / -n ...

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

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

最新文章

  1. Java项目:教材管理系统(java+SSM+jsp+mysql+maven)
  2. 3_4 IteratorMode 迭代器模式
  3. 【网络编程】之七、select聊天室
  4. mysql数据库邮箱什么类型_MySQL的数据类型介绍
  5. Java_基础—try...catch的方式处理异常1
  6. Linux Journal 2013点评 Readers' Choice Awards 2013
  7. java中方法_java中的方法
  8. DOM中cloneNode的使用之旅
  9. Access control allow origin 简单请求和复杂请求
  10. 【小插件】文字镂空“LSP”制作空心文字CAD
  11. windows系统上PrtSc,ScroLk,Pause等三个功能按钮的作用
  12. 遥感图像预处理—步骤
  13. 修改Android模拟器的IMEI号
  14. win10:为U盘设计图标
  15. Matlab 实现串口助手
  16. linux文件误删恢复解决方案
  17. 基于STM32标准库建立Keil-MDK工程模板(STM32F407ZG)
  18. Windows消息拦截技术的应用(Hook钩子)
  19. JDK自带的反编译工具 javap
  20. Android U盘插拔监听详细版以及U盘写入权限解决办法

热门文章

  1. 设置了msconfig处理器个数和内存开不了机终极解决办法
  2. 最新代码大全《让你成为空间明星》
  3. urv中保研碰撞测试结果_深度解读中保研碰撞测试结果,多款热销车竟获“差评”...
  4. android 5.0 apk 安装失败提示INSTALL_FAILED_INVALID_URI
  5. 杂谈——TCP/IP 协议栈详解
  6. JavaScript 字符串常用操作纪要
  7. 因素分析法(Factor Analysis Approach)
  8. xilinx 官网vivado和petalinux下载速度慢的解决办法
  9. 一个女孩的就业之路 ------来自猫扑(mop.com)
  10. H.264视频中SPS/PPS缺失时实现补帧