今天有把此前接触过的三种python实现多版本环境用到的软件pyenv、virtualenv、virtualenvwrapper,了解了一番,现做如下总结:

一、pyenv:

       是针对python多版本的管理,通过修改环境变量的方式实现;直接实现python多版本的虚拟环境并灵活切换;

            安装依赖git:

                yum install git

            安装pyenv,根据提示设置环境变量:

                curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

            

             把以下3行写在~/.bash_profile文件里:

                export PATH="$PYENV_ROOT/bin:$PATH"

                eval "$(pyenv init -)"

                eval "$(pyenv virtualenv-init -)"

            显示能安装的python版本:

                pyenv install -list

           显示已安装的所有python版本 :

                pyenv versions

           安装python版本:

                pyenv install python版本号

            卸载python版本:

                pyenv uninstall python版本号

            使python版本成为全局python版本;

                pyenv global python版本号

            恢复系统全局默认的python版本:

                pyenv global system

           设置本地默认使用的python版本,可同时设多个用空格分隔:

               pyenv local python版本号

           设置当前虚拟python版本为系统默认的python版本:

                pyenv local system

注意:local只是临时生效,重启什么的会恢复系统版本,global永久生效,重启后依然生效。

          刷新版本包(每次安裝新版本時,执行一次,为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令):

                pyenv rehash

          设置面向shell的Python版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比local和global都要高。–unset参数可以用于取消当前shell设定的版本;

                pyenv shell python版本号

                pyenv shell --unset

            python版本不同环境的优先级:

                shell > local > global

        

二、 virtualenv:

        是针对python的包的多版本管理,隔离的是包,尤其是site-packages第三方包,使其创建干净的python版本,可使用-p python版本路径,来指定虚拟环境使用的python版本;

        实现python多版本,需要事先安装多个python版本。

             

            安装vitualenv:

                pip install virtualenv

            进入要设置pyhton版本工作目录:

                cd python环境目录

            创建新的虚拟环境,--no-site-packages可省默认为不使用系统环境包:

                virtualenv [-p python程序版本路径 --no-site-packages] 虚拟环境名称

            切换不同的虚拟环境:

                source 虚拟环境名称/bin/activate

            退出虚拟环境:

                deactivate

            删除虚拟环境:

                rm python环境目录

三、virtualevnwapper:

       对virtualenv的扩展是virtualenv的扩展包,是对virtualenv的封装,可以方便的创建/删除/拷贝/切换不同的环境;

      实现python多版本,需要事先安装多个python版本。

        安装必要依赖:

            pip install virtualenv

       安装virtualevnwrapper:

            pip install virtualenvwrapper

       创建新的虚拟环境:

            mkvirtualenv [-p python程序版本路径] 虚拟环境名称

            

        列出所有虚拟环境:

            lsvirtualenv -bworkon

        进入当前环境的目录,在环境里执行:

            cdvirtualenv

            

        拷贝虚拟环境:

            cpvirtualenv

        删除虚拟环境:

            rmvirtualenv

        切换不同的虚拟环境:

            workon

        退出虚拟环境:

            deactive