环境: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. awk流程控制

    awk 中if和for while 一.awk嵌套if判断语句 格式如下: if(表达式) {语句1} else if(表达式) {语句2} else {语句3} 如果if后边的语句块是的单个语句,{ ...

  2. Linux登录时,下游回显非常慢

    问题现象 登录linux时,远程连接正常,[root@...]回显非常慢,在执行脚本时,很容易导致命令下发错乱 原因分析 家目录下的.bash_history文件太大,导致每次登陆时读取这个文件耗时太 ...

  3. 自定义djangorestframework-simplejwt的验证表

    django restframework-simplejwt默认是通过调用django的get_user_model方法来得到验证表的表名,然后再通过查询id来验证是否有这个用户. 当需要自定义用户表 ...

  4. Flask + UnitTest(十五)

    被测试视图 # coding:utf-8 from flask import Flask, request, jsonify app = Flask(__name__) @app.route(&quo ...

  5. 不同目录存在相同名称的py文件,执行时,报错的解决方法

    1.问题现象如下,执行时报错  imported module 'test_case_execution' has this __file__ attribute platform win32 -- ...

  6. CentOS7中安装pip的方法

    1.安装epel-release [root@localhost ~]# yum -y install epel-release 2.安装python-pip [root@localhost ~]# ...

  7. spring boot 启动读取的配置文件优先级

    1.优先级从高到低 1.  file:/config/ 2. file:/ 3. classpath:/config/ 4. classpath:/ 所有位置的application.properti ...

  8. 攻防世界-进阶-[re1-100]

    一.收集程序信息 64位的ELF文件,没有壳 二.放入IDA 使用64位IDA打开文件,先进行静态分析查看伪代码,进入main函数 通过这段可以得知输入的内容存储到了input中(这里我将bufwri ...

  9. “老”的Flexbox和“新”的Flexbox

    本文由大漠根据Chris Coyier的<"Old" Flexbox and "New" Flexbox>所译,整个译文带有我们自己的理解与思想,如 ...

  10. CodeForces 519B A and B and Compilation Errors (超水题)

    这道题是超级水的,在博客上看有的人把这道题写的很麻烦. 用 Python 的话是超级的好写,这里就奉上 C/C++ 的AC. 代码如下: #include <cstdio> #includ ...