环境:Macbook
MacOS自带的python2.7,在命令行中输入python后会显示2.7版本
如何切换成新版本?
一、修改用户配置环境变量~/.bash_profile
  1. 确定新版本的安装位置,brew info python,/usr/local/Cellar/python/3.6.4_4
  2. 打开配置文件sudo vi ~/.bash_profile
写入
export PATH="/usr/local/anaconda3/bin:$PATH"
export PATH="/usr/local/Cellar/python/3.6.4_4/bin:$PATH"
alias python="/usr/local/Cellar/python/3.6.4_4/bin/python3.6" #创建快捷方式,重命名
  1. 使修改后的文件立即生效source ~/.bash_profile
  2. 当shell类型为zshell时需要修改vi ~/.zshrc,不然重新开启命令终端时会无效
在最后写入source ~/.bash_profile
 
二、修改系统环境变量/etc/paths
  1. 配置:打开sudo vi /etc/paths,写入/usr/local/Cellar/python/3.6.4_4/bin即可,保存并退出:wq!
  2. 重启:source /etc/paths,或是重启命令终端
 
三、通过安装anaconda或Miniconda进行包版本管理
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python
如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu。它解决了Python开发者的两大痛点。
1、提供包管理,功能类似于 pip,Windows 平台安装第三方包经常失败的场景得以解决。
2、提供虚拟环境管理,功能类似于 virtualenv,解决了多版本Python并存问题。
参考:
步骤:
  1. 安装:brew cask install anaconda
    1. 遇到问题missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun导致安装失败,这是需要安装
  2. 配置:打开sudo vi /etc/paths,写入/usr/local/anaconda3/bin即可,保存并退出:wq!
  3. 重启:source /etc/paths,或是关闭终端重进
 
环境变量配置文件优先级
Mac系统的环境变量,加载顺序为:
a. /etc/profile
b. /etc/paths
c. ~/.bash_profile
d. ~/.bash_login
e. ~/.profile
f. ~/.bashrc
其中a和b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
 
 
常用终端命令:
  1. sudo vi /etc/hosts 修改hosts文件
  2. ls -li 查看软连接
  3. which -a git 查看应用安装位置
  4. brew info git 查看brew安装的应用的信息
  5. echo "export PATH=/usr/local/anaconda3/bin:$PATH" >> ~/.bash_profile 将语句添加到配置文件bash_profile中
  6. brew config 查看当前brew信息
  7. echo $PATH 查看单个环境变量
  8. env 查看所有环境变量
  9. set 查看所有本地定义的环境变量
  10. 别名的设置与变量设置方法相同,在不同文件中设置可以使其永久生效或者临时生效,
如:可以在/etc/profile文件中添加 alias ls='ls --color=auto' alise ll='ls -alF' 设置命令ll 和ls
 

python多版本切换的更多相关文章

  1. Linux下python默认版本切换成替代版本

    本文链接自http://www.myhack58.com/Article/48/66/2016/71806.htm 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Pyt ...

  2. Python不同版本切换

    2016年6月8日更新: 这是我早前写的一篇小文章,其实,后来也没有采用这种方法切换.电脑上安装了多个Python 版本,保证自己经常用的版本加入环境变量外,使用非系统的版本时一般使用 IDE 编辑器 ...

  3. 将Linux下python默认版本切换成替代版本

    本文链接自http://www.myhack58.com/Article/48/66/2016/71806.htm 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Pyt ...

  4. linux & mac环境python多版本切换与选择

    linux和mac很多地方是相似的,只不过在切换python版本时权限有差异. ====图已补上,O(∩_∩)O~ 1.linux 首先linux内核自带版本是python2.6,但是一般linux ...

  5. Python默认版本切换

    Mac上自带python2.7 版本,但是我又下了一个3.7版本(下载的版本默认安装在 /Library/Frameworks/Python.framework/Versions/3.7/bin/py ...

  6. windows10 conda python多版本切换

    之前为了学习安装了python2.7是通过anaconda2安装的 现在想换用Python3  所以寻找版本并存 可以来回切换的方法 打开命令提示符,记住是命令提示符 不是win10自带的window ...

  7. 在Mac上Python多版本切换

    1.安装Homebrewhttps://brew.sh/index_zh-cn.html 2.通过brew安装pyenv1)命令行输入:$ brew install pyenv(如果一直卡在Updat ...

  8. Mac 上Python多版本切换

    Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python. 1.安装Python3.x版 ...

  9. Mac上实现对Python的版本切换

    最近朋友邀请我帮忙写个比特币自动化交易程序,要求的平台是Okex,用Python写,之前到是自己学过一点自动化交易,不过是MT5的.看了一下Okex提供的API接口,和MT5不一样,它并没有现成的ID ...

随机推荐

  1. [ SQLAlchemy ] 自我引用型的多对多关系(Self-Referential Many-to-Many Relationship)理解

    参考: https://www.jianshu.com/p/2c6c76f94b88 https://madmalls.com/blog/post/followers-and-followeds/ 实 ...

  2. react中自定义antd主题与支持less(第二部)

    自定义主题 首先自定义主题需要修改antd,antd本身也是less写的之后编译成css的,所以当我们需要使用less. 1.yarn add react-app-rewire-less --dev ...

  3. Servlet简单实现开发部署过程

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512008683445027331/ 主要是从下面三个步骤实现我们的预期: (1)构建开发环境: (2)开发Ser ...

  4. 【Spring专场】「MVC容器」不看源码就带你认识核心流程以及运作原理

    前提回顾 之前已经写了很多问斩针对于SpringMVC的的执行原理和核心流程,在此再进行冗余介绍就没有任何意义了,所以我们主要考虑的就是针对于SpringMVC还没但大框架有介绍的相关内容解析分析和说 ...

  5. 如何提高docker容器的安全性

    一. 概述 Docker 容器一直是开发人员工具箱的重要组成部分,使开发人员能够以标准化的方式构建.分发和部署他们的应用程序.毫无疑问,这种吸引力的增加伴随着容器化技术的相关安全问题.他们可以很容易地 ...

  6. 带你自定义实现Spring事件驱动模型

    Spring 事件驱动模型概念 Spring 事件驱动模型就是观察者模式很经典的一个应用,我们可以通过Spring 事件驱动模型来完成代码的解耦. 三角色 Spring 事件驱动模型或者说观察者模式需 ...

  7. java运行时创建对象

    有很多场景需要运行时创建对象,比如Copy对象到指定类型的对象中,比如根据指定的字段和值创建指定类型的对像.使用JDK自带的反射(java.lang.reflect)或者自省(java.beans.I ...

  8. k8s-pv-pvc

    1. 简介 持久卷(PersistentVolume,PV)是集群中的一块存储,可以由管理员事先供应,或者 使用存储类(Storage Class)来动态供应. 持久卷是集群资源,就像节点也是集群资源 ...

  9. 【解决了一个小问题】golang xorm中使用where id in (xxx),没办法使用参数替换

    代码中使用XORM来从数据库查询数据,有类似如下的代码: session.Where("id in (?)", strings,Join(arr, ",")) ...

  10. Chrome本地跨域请求设置,实现HTML模板页

    按照需求,公司现在需要通过第三方的API反馈的数据,进行在本地就可以打开的静态页面程序(完全脱离IIS等服务器).为了更好的维护项目,需要实现静态HTML引入HTML模板,完成ASP.NET模板页的类 ...