1. 安装homebrew

官网 http://brew.sh/index_zh-cn.html

打开终端,在终端中粘贴如下脚本

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

测试是否安装成功

在终端中输入

brew -v

出现类似提示,即代表安装成功

Homebrew 0.9.5 (git revision 1021; last commit 2016-03-30)

2.安装pyenv

在终端中输入

brew install pyenv

验证是否安装成功

pyenv -v

出现类似结果,即代表安装成功

pyenv 20150310

3.查看可安装的Python版本

在终端中输入

pyenv install --list

会列出可安装的Python版本号

4.安装特定版本的Python

在终端中输入

pyenv install <version> 

安装对应的Python版本,如:

pyenv install 2.7.

5.异常处理

如出现如下异常:

Installing Python-2.7....
ERROR: The Python zlib extension was not compiled. Missing the zlib? Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems BUILD FAILED (OS X 10.11. using python-build ) Inspect or clean up the working tree at /var/folders/fb/7406jr3s60z_tdpxxqm2s9hh0000gn/T/python-build.20160616162746.48644
Results logged to /var/folders/fb/7406jr3s60z_tdpxxqm2s9hh0000gn/T/python-build.20160616162746.48644.log Last log lines:
rm -f /Users/Matrix/.pyenv/versions/2.7./share/man/man1/python.
(cd /Users/Matrix/.pyenv/versions/2.7./share/man/man1; ln -s python2. python.)
if test "xno" != "xno" ; then \
case no in \
upgrade) ensurepip="--upgrade" ;; \
install|*) ensurepip="" ;; \
esac; \
./python.exe -E -m ensurepip \
$ensurepip --root=/ ; \
fi
yujingyao:2.7. Matrix$ CFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" pyenv install 3.6-Dev
Cloning https://hg.python.org/cpython...
error: please install `mercurial` and try again

则在终端中输入,注意替换如下代码的版本号

CFLAGS="-I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 2.7.11

在EI Capitan实测有效

资料来源:https://github.com/yyuu/pyenv/issues/448

如有其他异常可以参考 https://github.com/yyuu/pyenv/wiki/Common-build-problems

如果出现如下异常:

ImportError: No module named 'pyexpat'

请更新pyenv版本:brew upgrade pyenv

实测从1.0.2_1 更新直 1.2.3 后问题解决,同时安装python时,也不再需要上面的命令,可以直接通过pyenv install <version> 直接安装

 6.查看pyenv已安装的Python版本

pyenv versions

在终端中会列出已安装的Python版本,如

2.7.11

3.5.1

7.编辑.bash_profile文件

在终端中输入如下命令,进入当前用户的Home目录

cd ~

输入如下命令,打开.bash_profile文件

open .bash_profile

如不存在,则输入如下命令,创建文件

touch .bash_profile

编辑文件

open -e .bash_profile

在弹出的.bash_profile文件中新增

if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

command + s 保存文件

在终端中输入如下命令,使用更新之后的.bash_profile内容

source .bash_profile

8.指定目录切换指定版本的Python

在终端中cd到特定目录,路径名称自行修改

cd /Users/Matrix/Documents/Projects/Python/3.5. 

输入:

pyenv local <version>

pyenv local 3.5.

9.设定全局的Python版本

在终端中输入

pyenv global <version>

pyenv global 3.5.

不建议如此操作,可能会导致部分系统程序无法正常工作

10.检查是否切换成功

在终端中cd到特定目录,路径名称自行修改

cd /Users/Matrix/Documents/Projects/Python/3.5.1 

在终端中输入:

python

会列出当前目录使用的python版本,和设置的版本一样则代表切换成功

在Pycharm中选择pyenv安装的Python版本参考:

http://www.cnblogs.com/blackmatrix/p/5603888.html

在macOS上通过pyenv安装和切换多版本Python的更多相关文章

  1. 解决在Mac上用pyenv安装python3失败的问题

    背景 前段时间在本地Mac系统上要跑一个python3写的压测脚本. Mac默认安装的是python2, 而且很多软件依赖的也是python2. 为了不影响现有系统其它软件, 当时安装了pyenv来实 ...

  2. 安装nvm 切换nodejs版本

    删除已安装的nodejs--------------------------------------------------------------- #查看已经安装在全局的模块,以便删除这些全局模块 ...

  3. OneinStack 安装 LNMP 切换PHP版本

    如果你的环境不是OneinStack安装的  ,可以略过这条博客了 注意:以下所有命令若提示权限不足 请在命令前加 sudo *** ①,首先查看当前已安装的PHP版本,我这里安装了好几个版本,你们可 ...

  4. 通过pyenv和virtualenv创建多版本Python虚拟环境

    虚拟环境使用第三方工具virtualenv创建,首先输入以下命令检查系统是否已经安装virtualenv. $ virtualenv --version 如果显示virtualenv版本号,则说明已经 ...

  5. MacOS上Parallels Desktop安装MacOSHighSierra

    下载dmg文件 http://www.macoshome.com/macos/977.html 配置宿主机时间2015-10-27 23:25 为了防止"macOS未能安装在您的电脑上_安装 ...

  6. linux ubuntu下如何安装并且切换java版本(Unsupported major.minor version 52.0)

    最近在做一个dcos(数据中心操作系统)的东西,需要用marathon来做进程管理.遗憾的是0.6版本的marathon在API方面很是缺少,换成了0.15版本之后,运行时提示“Unsupported ...

  7. Pycharm选择pyenv安装的Python版本

    在macOS上使用pyenv实现Python多版本共存后,pyenv安装的Python版本存在于macOS下的 ~/.pyenv/versions/下. 在Pycharm时,选择此目录下对应的版本即可 ...

  8. 使用rvm安装与切换Ruby

    列出已知的 Ruby 版本 rvm list known安装一个 Ruby 版本 rvm install 2.3.1 --disable-binary这里安装了最新的 2.2.0, rvm list ...

  9. CentOS7上Python3.5安装

    CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...

随机推荐

  1. Golang学习--包管理工具glide

    上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...

  2. springCloud zuul网关服务

    第一步:编写application.properties文件 spring.application.name=api-gateway server.port=5555 zuul.routes.user ...

  3. java学习笔记之String类

    String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...

  4. Python3 词汇助手 有道翻译助手 有道导出文件格式转换

    根据有道翻译软件的功能,结合实际用途,基于Python3.6写了一个有道翻译助手软件. 测试文件及源代码已上传至:https://github.com/MMMMMichael/Translation- ...

  5. Java基础—标识符及命名规范

      什么是标识符符? 凡是可以由自己命名的地方都称为修饰符. 例: 项目名 ,包名 ,类名 .方法名 2.   命名规范. ①    不可使用java关键字和保留字,但是可以包含关键字和保留字. ②  ...

  6. 开源 免费 java CMS - FreeCMS1.9 移动APP管理 执行配置

    项目地址:http://www.freeteam.cn/ 移动APP管理 从FreeCMS 1.8開始支持 执行配置 管理会员能够在这里设置移动app的欢迎图片. 从左側管理菜单点击执行配置进入. 选 ...

  7. Order笔记-项目导入

    问题: @Override报错: @Override注释在jdk1.5环境下只能用于对继承的父类的方法的重写,但不能用于对实现的接口中的方法的实现.(也就是jdk1.5的 @Override这个ann ...

  8. Springboot的默认定时任务——Scheduled注解

    本博客参考博文地址. 1.pom依赖: 引入springboot starter包即可 <dependencies> <dependency> <groupId>o ...

  9. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  10. Angular 非父子组件间的service数据通信

    完成思路:以service.ts(主题subject---订阅sbuscribe模式)为数据中转中间件,通过sku.ts的数据更改监测机制,同步更改service.ts中的数据,同时buy.ts组件实 ...