zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    Oracle问题之ORA-12560TNS:协议适配器错误
    调用脚本的方式自动的创建或者是更新oracle数据库自带的Seq序列号的值
    linux在telnet情况下root登录提示login incorrect
    CentOS 7 中 Systemd详解
    CentOS7 下安装telnet服务
    linux 安装telnet命令及使用
    Linux安装telnet
    Linux系统xinetd服务启动不了
    linux服务安装与配置(二):安装xinetd服务
    Linux超级守护进程——xinetd
  • 原文地址:https://www.cnblogs.com/linhan/p/4722480.html
Copyright © 2011-2022 走看看