环境: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. CSS基础 清除浮动

    1.单伪元素清除法:清除浮动 .clearfix::after{             content: '.';             display: block;             c ...

  2. linux(CentOS7) 之 MySQL 5.7.30 下载及安装

    一.下载 1.百度搜索mysql,进入官网(或直接进入官网https://www.mysql.com) 2.选择 downloads 3.翻到最下面,选择MySQL Community (GPL) D ...

  3. JMeter_调试取样器(Debug Sampler)

    大家在调试 JMeter 脚本时有没有如下几种需求: 我想知道参数化的变量取值是否正确! 我想知道正则表达式提取器(或json提取器)提取的值是否正确! 我想知道 JMeter 属性! 调试时服务器返 ...

  4. 《Go组件设计与实现》-netpoll的总结

    主要针对字节跳动的netpoll网络库进行总结.netpoll网络库相比于go本身的net标准库更适合高并发场景. 基础知识 netpoll与go.net库一样使用epoll这种IO多路复用机制处理网 ...

  5. MINItest软件架构总结

    MINItest软件架构总结 ----helloWen MINItest软件架构总结1. Problem Description2. Analysis3. Solution3.1. 通过读取设备信息来 ...

  6. JS调用堆栈

    调用栈 JavaScript 是一门单线程的语言,这意味着它只有一个调用栈,因此,它同一时间只能做一件事.如果我们运行到一个函数,它就会将其放置到栈顶.当从这个函数返回的时候,就会将这个函数从栈顶弹出 ...

  7. Android 12(S) 图形显示系统 - 基本概念(一)

    1 前言 Android图形系统是系统框架中一个非常重要的子系统,与其它子系统一样,Android 框架提供了各种用于 2D 和 3D 图形渲染的 API供开发者使用来创建绚丽多彩的应用APP.图形渲 ...

  8. [STM32F10x] 利用定时器测量频率

    硬件:STM32F103C8T6 平台:ARM-MDk V5.11 原理 利用STM32F10x的定时器的捕获(Capture)单元测量输入信号的频率. 基本原理是通过两次捕获达到的计数器的差值,来计 ...

  9. [Keil 学习] printf, scanf函数的用法

    C语言库函数中有一批"标准输入输出函数",它是以标准的输入输出设备(一般为终端设备)为输入输出对象的,其中用得比较多的是printf和scanf函数了. 在嵌入式设备中加入C语言的 ...

  10. [源码分析] Facebook如何训练超大模型 --- (2)

    [源码分析] Facebook如何训练超大模型 --- (2) 目录 [源码分析] Facebook如何训练超大模型 --- (2) 0x00 摘要 0x01 回顾 1.1 ZeRO 1.1.1 Ze ...