nainai1 发表于 2015-12-2 09:20:27

MacOS下Python的多版本管理(pyenv)

  与windows下设置绝对路径不同,pyenv使用了一种更优雅的方式来管理Python的版本。pyenv通过在$PATH的最前面插入一个垫片路径(shims),例如:~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin 。当查找Python的可执行文件时,会自动跳转到这个shims处,从而实现对Python的多版本管理。下图是官网给出的原理:

  
  安装
    pyenv的github地址 github.com/yyuu/pyenv ,在这个页面中提供了其完整的安装步骤,以及全部的命令。
  
    其步骤大致分为以下几步:
    1.将pyenv检出



$ git clone git://github.com/yyuu/pyenv.git .pyenv

    2.添加环境变量



$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

    这里需要注意的是不同系统环境下环境变量配置文件并不相同,mac下为bash_profile,而在其他Linux版本中不尽相同。



$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    向shell添加pyenv init已实现命令的自动补全。
    3.重启shell



$ exec $SHELL

  
  使用
    根据git上给出的文档,pyenv的命令只有11条:
  
  使用频率较大的几条:
    1.pyenv install



$ pyenv install -v 3.4.0

  使用pyton-build安装一个python版本。-v参数显示安装进度,在网络环境不佳的状态下,建议跟上-v参数。
    git上给出的文档如下
  
    2.pyenv uninstall



$ pyenv uninstall 3.4.0

  对应卸载一个Python版本
  3.pyenv versions



$ pyenv versions

  查看当前Python可以检测到的所有版本,“*”表示该Python版本当前处于激活状态。

  
  4.pyenv version



$ pyenv version

  查看当前处于激活状态的Python版本。

  5.pyenv rehash



$ pyenv rehash

  为目录下的可执行文件创建shims垫片,所以当安装或卸载python版本以及通过pip等增加或删除了可执行文件包后,都需要执行此命令。
  6.pyenv global/pyenv local/pyenv shell



$ pyenv global 3.4.0 #全局

$ pyenv local 3.4.0 #本地

$ pyenv shell pypy-3.4.0 #shell
$ pyenv shell --unset

  设置python的当前版本,设置后该版本将处于激活状态,优先级顺序为shell>local>globl。

  
  


  转载请注明出处 huhuhuo的博客园
  地址:http://www.cnblogs.com/linhan/p/4722480.html
页: [1]
查看完整版本: MacOS下Python的多版本管理(pyenv)