美文网首页程序猿阵线联盟-汇总各类技术干货
Python版本管理工具 Pyenv的安装与使用

Python版本管理工具 Pyenv的安装与使用

作者: 流月0 | 来源:发表于2017-11-19 18:07 被阅读0次

    环境:CentOS-7-x86_64-Minimal-1708


    Pyenv介绍

    • 可以实现多版本Python并存
    • 使用插件后,可以为不同的项目创建不同的虚拟环境

    Pyenv安装

    • 安装依赖
    yum -y install gcc git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel
    
    • 下载pyenv源代码
    git clone git://github.com/yyuu/pyenv.git ~/.pyenv
    
    • 添加环境变量
    cat << "EOF" >> ~/.bashrc
    export PYENV_ROOT="${HOME}/.pyenv"
    
    if [ -d "${PYENV_ROOT}" ]; then
      export PATH="${PYENV_ROOT}/bin:${PATH}"
      eval "$(pyenv init -)"
    fi
    EOF
    
    source ~/.bashrc
    
    • Done

    安装指定Python版本(以Python 3.6.3为例)

    • 从国内镜像源下载Python指定版本
    wget http://mirrors.sohu.com/python/3.6.3/Python-3.6.3.tar.xz  -P ~/.pyenv/cache
    
    • 安装指定Python版本(-v表示显示安装过程,可省略)
    pyenv install 3.6.3 -v
    
    • 切换pip镜像源为国内镜像
    1. pyenv在安装python的时候,已经自动将pip安装好了
    mkdir ~/.pip
    
    cat << "EOF" >> ~/.pip/pip.conf
    [global]
    timeout = 6000
    index-url = https://pypi.douban.com/simple
    trusted-host = pypi.douban.com
    EOF
    
    • Done

    Pyenv常用命令

    • 查询所有可以安装的版本
    pyenv install --list
    
    • 安装指定版本
    1. 建议按照上面的步骤,先从国内镜像下载然后再安装,否则会非常慢甚至中断
    pyenv install 3.6.3
    
    • 卸载指定版本
    pyenv uninstall 2.7.13
    
    • 显示已安装的所有版本
    1. 最前面带*的表示当前生效的版本
    pyenv versions
    
    • 显示当前生效的版本
    pyenv version
    
    • 设置全局(整个系统生效)Python版本
    pyenv global 3.6.3
    
    • 设置多个全局(整个系统生效)Python版本
    1. 后面的版本号排序有先后,在前表示默认版本
    # 方案1
    pyenv global 3.6.3 2.7.13
    
    # 方案1效果如下
    python --version
    Python 3.6.3
    
    python3.6 --version
    Python 3.6.3
    
    python2.7 --version
    Python 2.7.13
    
    # 方案2
    pyenv global 2.7.13 3.6.3
    
    # 方案2效果如下
    python --version
    Python 2.7.13
    
    python3.6 --version
    Python 3.6.3
    
    python2.7 --version
    Python 2.7.13
    
    • 设置局部(当前目录生效)Python版本
    pyenv local 3.6.3
    
    • 设置多个局部(当前目录生效)Python版本
    1. 后面的版本号排序有先后,在前表示默认版本
    # 方案1
    pyenv local 3.6.3 2.7.13
    
    # 方案1效果如下
    python --version
    Python 3.6.3
    
    python3.6 --version
    Python 3.6.3
    
    python2.7 --version
    Python 2.7.13
    
    # 方案2
    pyenv local 2.7.13 3.6.3
    
    # 方案2效果如下
    python --version
    Python 2.7.13
    
    python3.6 --version
    Python 3.6.3
    
    python2.7 --version
    Python 2.7.13
    
    • 取消设置局部(当前目录生效)Python版本
    pyenv local --unset
    

    pyenv-virtualenv(Pyenv插件)介绍

    • 可以为不同的项目创建不同的虚拟环境
    • 设置环境变量后,可进入指定目录自动激活虚拟环境

    pyenv-virtualenv安装

    • 下载pyenv-virtualenv源代码
    git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
    
    source ~/.bashrc
    
    • 添加环境变量(进入指定目录自动激活虚拟环境)
    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
    
    source ~/.bashrc
    

    pyenv-virtualenv常用命令

    • 基于指定版本创建虚拟环境(推荐)
    pyenv virtualenv 3.6.3 venv_name
    
    • 基于当前版本创建虚拟环境(不推荐)
    pyenv virtualenv venv_name
    
    • 设置当前目录的虚拟环境(推荐)
    1. 若按照之前的步骤设置了环境变量,则会在进入目录后自动激活虚拟环境
    pyenv local venv_name
    
    • 取消设置当前目录的虚拟环境(推荐)
    pyenv local --unset
    
    • 手动激活虚拟环境(不推荐)
    pyenv activate venv_name
    
    • 手动停用虚拟环境(不推荐)
    pyenv deactivate venv_name
    
    • 显示所有已创建的虚拟环境
    1. 不一定已在当前目录激活
    2. 一个虚拟环境会显示两条记录
    pyenv virtualenvs
    

    博客更新地址

    相关文章

      网友评论

        本文标题:Python版本管理工具 Pyenv的安装与使用

        本文链接:https://www.haomeiwen.com/subject/emdpvxtx.html