Linux 下Python多版本管理神器(pyenv)

作者: 云中布衣   分类:  操作系统    热度: (1170℃)   时间: 2016-9-23 14:58   标签: #ubuntu    

这两天在写python,由于使用的是Ubuntu 16.04 本身系统就自带了python 2.7和 python 3.5的版本,使用起来很容易出现版本混乱的情况,在这后面会陆续使用到pip,django都会有一个版本的问题,在这样的背景下,pyenv 就出现了。pyenv 在安装和配置完毕后可以实现:一键(命令)切换全局、本地或当前shell使用的python版本。

实现原理

pyenv 的绝妙之处在于它并没有使用将不同的 $PATH 植入不同的 shell 这种高耦合的工作方式,而是简单地在 $PATH 的最前面插入了一个垫片路径:

(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin
所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而架空了后面的系统路径。

安装Pyenv:

1.软件依赖

在安装Pyenv之前需要把它运行所需要的组件给安装完毕,执行下面命令即可:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils

2.将pyenv克隆到你想要安装的目录。建议路径为:$HOME/.pyenv

 $ cd ~
 $ git clone git://github.com/yyuu/pyenv.git .pyenv
3.打开Shell配置文件,添加以下配置。
# 配置pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

注:这里的Shel配置l文件按照不同的Shell环境为不同

比如:Ubuntu的bash就是:~/.bashrc

           Zsh就是:~/.zshrc  (我的就是安装了zsh Shell,所以需要修改 ~/.zshrc)

4.重启shell

 $ exec $SHELL
使用Pyenv

Pyenv 总共有11条不同的命令,详情可以参考作者写的Reference

1.pyenv commands

列出所有可用的pyenv命令

2.pyenv local

设置本地版本

3.pyenv global

设置全局版本

4.pyenv shell

设置面向shell版本,这个优先级最高,其次是local,最后是global

5.pyenv install

安装包,建议使用pyenv install -v 2.7.1 这样使用,-v列出版本详细信息,具体采参考reference

6.pyenv uninstall

卸载指定版本的python

7.pyenv rehash

每一次新安装或者删除,都应该执行一次这个命令

8.pyenv version

查看当前激活的python 版本

9.pyenv versions

查看所有已安装的python版本

10.pyenv which

查看某个版本的python 的绝对路径

11.pyenv whence

<完>由云中布衣整理,转载请注明出处

56.8K

发表评论:

© 云中布衣 2015 | Driven by EMLOG  | SiteMap | RunTime: 8.19ms&RSS  |   | 回到顶部

文章数量【230】 评论数量【158】 稳定运行【1091天】

Visitor IP Address【54.198.104.202】