mac切换python新老版本

安装完新版本的python之后,他们的安装位置:

  1. Mac系统自带的python环境在:
    Python 2.7: /System/Library/Frameworks/Python.framework/Versions/2.7/
    其中,解释器在该目录下的 ./bin/python2.7
  1. 用户安装的python环境默认在:
    Python 3.6.1:/Library/Frameworks/Python.framework/Versions/3.6/
    其中,解释器在该目录下的 ./bin/python3.6
  1. 用户安装Anaconda3后,自带的python环境在:
    Python 3.4.1:/Users/steven/Anaconda3
    其中,解释器在该目录下的./bin/python3.4

那么在安装完新版本之后,切换默认的python为新版本的做法:

mac在启动时,会先加载系统配置文件(包括/.bash_profile),所有默认的命令路径,将会被配置文件(比如:/.bash_profile)中的路径覆盖,并且,是从文件从下往上的顺序覆盖(最后的覆盖前面的)。

  1. 不输入python,直接输入python3,即使用的是python的加载文件
  2. 修改用户根目录下的~/.bash_profile文件,文件中新增一行:
alias python="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6"

添加完之后执行

source ~/.bash_profile

重新加载环境变量

  1. 修改~/.bashrc 来达到目的
open ~/.bashrc

在文件中添加

alias python="python3"

这句话的意思就是 让python命令与phthon3等价,所以你每次在shell中输入python也就相当于输入了phthon3了

注:使用方法3的时候发现并未生效,查资料显示Mac下要加载bashrc的方法是

~/.bashrc里面的一些设置,比如alias命令的设置“不起作用”,新开一个终端都要source一下才起作用。
unix下当shell是login shell,.bash_profile才会加载,而bashrc正好相反。
真正的区别是在Linux下,当用户登录到一个图形界面,然后打开一个终端terminal,那些shell是non-login shell。
然而,在OS X登录的时候,并没有运行着一个shell,所以,在运行Terminal.app的时候,其实那是一个login shell。
后来新建了 .bash_profile加载一次.bashrc就ok啦

if [ "${BASH-no}" != "no" ]; then  
    [ -r ~/.bashrc ] && . ~/.bashrc  
fi  

你可能感兴趣的:(mac切换python新老版本)