MacOS多版本Python切换方案
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.11
5. 异常处理
如出现如下异常:
Installing Python-2.7.11...
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.5 using python-build 20160130)
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 10 log lines:
rm -f /Users/Matrix/.pyenv/versions/2.7.11/share/man/man1/python.1
(cd /Users/Matrix/.pyenv/versions/2.7.11/share/man/man1; ln -s python2.1 python.1)
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.11 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
6. 查看pyenv已安装的Python版本
pyenv versions
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.1
输入:
pyenv local <version>
9. 设定全局的Python版本
在终端中输入
pyenv global <version>
不建议如此操作,可能会导致部分系统程序无法正常工作
10. 检查是否切换成功
在终端中cd到特定目录,路径名称自行修改
cd /Users/Matrix/Documents/Projects/Python/3.5.1
在终端中输入:python
会列出当前目录使用的python版本,和设置的版本一样则代表切换成功。
MacOS多版本Python切换方案的更多相关文章
- Ubuntu16.04 下 python 3.6 安装以及各版本python切换(同时解决各种依赖缺失)
有些博客给出了从源代码通过./configure.make.sudo make 会导致安装玩之后出现各种依赖缺失的问题,如_sqlite3._bz2 等问题. 当然也有很多帖子给出了从系统自带的pyt ...
- Windows下Python版本的切换
通常在Windows系统下我们可能安装了多个Python版本,那么该如何进行版本的切换呢?下面就Python2.7与Python3.0版本进行简单说明. 1.首先需要在Windows上安装Python ...
- Ubuntu下python两个版本的切换
最近在Ubuntu16.04安装了python3.5还有系统自带的python2.7.13,总结一下不同版本的切换问题. alias:别名 bashrc:个人配置文件 一.修改Python版本(针对用 ...
- windows下安装python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录
1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 ...
- Anaconda 安装及Python 多版本间切换
安装 Anaconda 安装anaconda 安装较为简单,这里参考官方文档:https://docs.continuum.io/anaconda/install/linux.html 在文件目录下执 ...
- 在不同的pyhon版本中切换
issue discription 在一台电脑上同时安装了python2.7和python3.5,怎样在这两个版本中切换调用? solution to the issue 进入python安装文件夹, ...
- Anaconda多环境多版本python配置指导
Anaconda多环境多版本python配置指导 字数3696 阅读644 评论0 喜欢0 最近学python,读完了语法后在GitHub找了一些练习来做,由 于学的是python3.x语法,而Git ...
- CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
安装 系统环境:CentOS 6.5 安装依赖 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline- ...
- pyenv简介——Debian/Ubuntu中管理多版本Python
pyenv简介——Debian/Ubuntu中管理多版本Python MAY 21ST, 2016 12:00 AM | COMMENTS pyenv是管理Python版本的工具,它支持在多个Pyth ...
随机推荐
- 【翻译】如何创建Ext JS暗黑主题之一
原文:How to Create a Dark Ext JS Theme– Part 1 概述 我是不是都要演示我的Spotifinder Ext JS应用程序.它是一个很酷的应用程序,可连接到Las ...
- windows与linux下的\r\n
\n 为ASCII的0x0a 换行 \r 为ASCII的0x0d 回车 在windows 系统中,当你输入回车时会自动变成\r\n 在l ...
- Linux0.11进程切换和TSS结构
TSS 全称为task state segment,是指在操作系统进程管理的过程中,进程切换时的任务现场信息. X86体系从硬件上支持任务间的切换.为此目的,它增设了一个新段:任务状态段( ...
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十四)
我们回到Xcode,打开GameScene.m,首先要添加实例变量: CCNode *_trackLine; 为了根据选中的赛道更新_trackLine的位置,我们添加一个显示方法: -(void)s ...
- Java 开源Wiki:XWiki
XWiki是一个由Java编写的基于LGPL协议发布的开源wiki和应用平台.之前只接触过MediaWiki,但是MediaWiki是用PHP写的,一直想找找看有没有熟悉的JAVA语言的Wiki系统. ...
- Weka 算法大全
关联规则挖掘 (一) Apriori (二) FilteredAssociator (三) FPGrowth (四) GeneralizedSequentislPatterns (五) Pr ...
- DEVICE_ATTR
说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是 #define DEVICE_ATTR(_name, _mode, _show, _store) \ struct device ...
- Oracle E-Business Suite Maintenance Guide Release 12.2(Patching Procedures)
更多内容参考: http://docs.oracle.com/cd/E51111_01/current/acrobat/122ebsmt.zip Preparing for Patching For ...
- application之OnLowMemory()和 OnTrimMemory(level)讲解
1. OnLowMemory OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLo ...
- android EventBus详解(三)
post()方法调用流程 我们继续来看EventBus类,的另一个入口方法post() //已省略部分代码 public void post(Object event) { PostingThread ...