zoukankan      html  css  js  c++  java
  • pyenv简介——Debian/Ubuntu中管理多版本Python

    pyenv简介——Debian/Ubuntu中管理多版本Python

    MAY 21ST, 2016 12:00 AM | COMMENTS

    pyenv是管理Python版本的工具,它支持在多个Python版本间切换。

    一、安装pyenv

    1
    
    git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    

    PYENV_ROOTpyenv init加入bash的~/.bashrc(或zsh的~/.zshrc)

    1
    2
    3
    
    echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
    echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    

    二、pyenv常用命令

    列表可安装的Python版本

    1
    
    pyenv install -l
    

    除了Python官方版本,还支持

    • anaconda
    • ironpython
    • jython
    • miniconda
    • pypy
    • stackless

    安装指定版本的Python

    1
    2
    
    pyenv install 3.5.1
    pyenv rehash
    

    它会自动下载并编译指定版本的Python源码,这需要系统安装:

    1
    
    sudo apt-get install -y build-essential zlib1g-dev libssl-dev
    

    还可选择安装:

    1
    
    sudo apt-get install libsqlite3-dev libbz2-dev  libreadline-dev
    

    安装完成后:

    • 源码(如~/Python-3.5.1.tar.gz)缓存在.pyenv/cache目录中,在安装完后可手动删除。
    • Python版本安装在~/.pyenv/versions目录中。

    卸载指定版本的Python

    1
    
    pyenv unstall 3.5.1
    

    设置shell的Python版本

    1
    
    pyenv shell 3.5.1
    

    等同于

    1
    
    export PYENV_VERSION=3.5.1
    

    清除PYENV_VERSION

    1
    
    pyenv shell --unset
    

    三、安装pyenv-virtualenv

    pyenv-virtual是pyenv的插件,它支持管理多个virtualenv

    1
    2
    
    git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
    

    创建virtualenv

    1
    
    pyenv virtualenv 3.5.1 aiohttp-virtual-env
    
    • 创建aiohttp-virtual-env之前,须先安装Python 3.5.1(通过系统或pyenv安装)。
    • aiohttp-virtual-env存储在~/.pyenv/versions/3.5.1/envs目录中,且在~/.pyenv/versions目录中建立同名符号链接。

    删除virtualenv

    1
    
    pyenv uninstall aiohttp-virtual-env
    

    列表virtualenv

    1
    
    pyenv virtualenvs
    

    激活/禁用virtualenv

    1
    2
    
    pyenv activate aiohttp-virtual-env
    pyenv deactivate
  • 相关阅读:
    【spring源码分析】IOC容器初始化(五)
    【spring源码分析】IOC容器初始化(四)
    【spring源码分析】IOC容器初始化(三)
    【spring源码分析】IOC容器初始化(二)
    Thread.currentThread()和this的区别——《Java多线程编程核心技术》
    【spring源码分析】IOC容器初始化(一)
    【spring源码分析】准备工作
    DefaultNamespaceHandlerResolver中handlerMappings如何初始化
    SimpleDateFormat非线程安全
    MyBatis批量操作
  • 原文地址:https://www.cnblogs.com/willpower-chen/p/5606963.html
Copyright © 2011-2022 走看看