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 ...
随机推荐
- Linux 进程调度小结
概述 这个问题又是面试常问问题,当时听到感觉太宽泛了,有点大,心里知道但是说不全,这里做一下总结 [1]进程调度的作用 [2]调度德策略 1. 进程调度的作用 ,进程调度就是对进程进行调度,即负责选择 ...
- Linux IPC实践(10) --Posix共享内存
1. 创建/获取一个共享内存 #include <sys/mman.h> #include <sys/stat.h> /* For mode constants */ #inc ...
- 【一天一道LeetCode】#74. Search a 2D Matrix
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Write a ...
- Eclipse下载GitHub源码
1. 可以通过Eclipse->File->Import->Project from Git->URI来提取工程 2. 也可以通过打开git仓库视图(Eclipse 自带了 ...
- Django项目导入Eclipse运行调试
受不了没有调试的感觉. 前提是Eclipse插件已经安装完成并且可以成功运行例子.参考:http://blog.csdn.net/jerome_s/article/details/46340079 1 ...
- Android StringEntity() 和 UrlEncodedFormEntity() 的区别
今天在做安卓客户端向服务器提交数据的过程中,在组织POST数据时,用了UrlEncodedFormEntity()这个方法,但是后台报错,说是无法解析json内容. 按照本来的想法,向后台发送的是 j ...
- ros_indigo使用keyboard键盘控制虚拟或实际机器人
首先,上参考网址: http://wiki.ros.org/Robots/TIAGo http://wiki.ros.org/teleop_twist_keyboard 第一个,使用TIAGo的gaz ...
- 知名IT公司的年度大会合集
很多知名的IT公司都有年度大会,比如说谷歌,微软,Adobe,甲骨文,苹果等等.在这些公司的年度大会上,都会展示一些公司比较前沿的产品.看看这些大会的视频(也可以参会,但是门票可是非常贵的),对我们了 ...
- 为神马精确Sprite的碰撞形状不通过简单的放大Sprite的尺寸来解决?
原因是SoftBodyDrawNode的绘制代码中已经没有完整的,一体化的(incorporate)缩放,旋转或者甚至是精灵的位置(scale,rotation,or even the sprite' ...
- Linux:进程通信之消息队列Message实例
/*send.c*/ /*send.c*/ #include <stdio.h> #include <sys/types.h> #include <sys/ipc.h&g ...