前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MacOS多版本Python切换方案

MacOS多版本Python切换方案

作者头像
mantou
发布2018-06-14 15:27:53
5K0
发布2018-06-14 15:27:53
举报
文章被收录于专栏:mantou大数据mantou大数据
1. 安装homebrew

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

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

代码语言:javascript
复制
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

测试是否安装成功

在终端中输入

代码语言:javascript
复制
brew -v

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

代码语言:javascript
复制
Homebrew 0.9.5 (git revision 1021; last commit 2016-03-30)
2. 安装pyenv

在终端中输入

代码语言:javascript
复制
brew install pyenv

验证是否安装成功

代码语言:javascript
复制
pyenv -v

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

代码语言:javascript
复制
pyenv 20150310
3. 查看可安装的Python版本

在终端中输入

代码语言:javascript
复制
pyenv install --list

会列出可安装的Python版本号

4. 安装特定版本的Python

在终端中输入

代码语言:javascript
复制
pyenv install <version>

安装对应的Python版本,如:

代码语言:javascript
复制
pyenv install 2.7.11
5. 异常处理

如出现如下异常:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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版本
代码语言:javascript
复制
pyenv versions
7.编辑.bash_profile文件

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

代码语言:javascript
复制
cd ~

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

代码语言:javascript
复制
open .bash_profile

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

代码语言:javascript
复制
touch .bash_profile

编辑文件

代码语言:javascript
复制
open -e .bash_profile

在弹出的.bash_profile文件中新增

代码语言:javascript
复制
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

command + s 保存文件

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

代码语言:javascript
复制
source .bash_profile
8. 指定目录切换指定版本的Python

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

cd /Users/Matrix/Documents/Projects/Python/3.5.1 输入:

代码语言:javascript
复制
pyenv local <version>
9. 设定全局的Python版本

在终端中输入

代码语言:javascript
复制
pyenv global <version>

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

10. 检查是否切换成功

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

代码语言:javascript
复制
cd /Users/Matrix/Documents/Projects/Python/3.5.1

在终端中输入:python 会列出当前目录使用的python版本,和设置的版本一样则代表切换成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装homebrew
  • 2. 安装pyenv
  • 3. 查看可安装的Python版本
  • 4. 安装特定版本的Python
  • 5. 异常处理
  • 6. 查看pyenv已安装的Python版本
  • 7.编辑.bash_profile文件
  • 8. 指定目录切换指定版本的Python
  • 9. 设定全局的Python版本
  • 10. 检查是否切换成功
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档