python实现多版本环境pyenv、virtualenv、virtualenvwrapper

为了安装Anaconda科学计算环境,控制好python版本,今天上午总算折腾好了。

  • 学习python有时希望在python2.7环境下,有时希望在python3.4环境下,该怎么办呢?

  • Anconda的包也不知道适合在什么环境下工作?

解决多python环境下,python版本切换的工具--pyenv应运而生。同时,另外一个工具virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
下面简要介绍一下安装的过程:

Unix系统下pyenv安装与使用:

安装pyenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv     #使用 git 把 pyenv 下载到家目录
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc     #然后需要修改环境变量,使用 Bash Shell 的输入

$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc     #最后添加 pyenv init

$ exec $SHELL -l     #输入命令重启 Shell,然后就可以重启pyenv

查看pyenv可安装的版本列表

$ pyenv install --list

該命令将列出pyenv可以安装的列表,单单列举几个咱们关心的python和anaconda把:

2.7.8   # Python 2最新版本 

3.4.1   # Python 3最新版本

anaconda-2.4.0  # 支持Python 2.6和2.7

anaconda3-2.0.1 # 支持Python 3.3和3.4

安装指定的python版本。

$ pyenv install 3.4.1 

该命令会从github上下载python的源代码安装,但是,我这里主要是用来进行科学计算的环境安装,因此,最后选择安装
anaconda-2.4.0(python2.7环境) 和 anaconda3-2.4.0(python3.4环境)。可以选择都安装,之后可以使用pyenv进行版本的切换。
注:

  • 这里利用pyenv命令安装的python版本都安装在~.pyenv/versions文件夹下,当然,如果你从图形界面进入Ubuntu的用户主目录下可能看不见.pyenv文件夹,这时候,你可以使用ls -a看到隐藏的文件夹。

  • 使用pip安装的包完成之后,可能需要对数据库进行更新:

pyenv rehash

卸载指定的python版本

pyenv uninstall x.x.x

python版本查看

查看当前已经安装了的python版本:

pyenv versions

输出结果如下:

*system (set by /home/michael/.pyenv/version)
2.7.1
3.4.1
anaconda-2.4.0

system是指系统的python版本;*表示当前环境所处于的python版本

python版本切换

全局版本切换:

pyenv global anaconda-2.4.0

全局切换为anaconda科学计算环境,因为,我现在也不做其他python开发,所以,无需再安装其他环境了。
查看现在的python版本:

michael@michael-ThinkCentre-XXXX:~$ pyenv versions
system
2.7.1
3.4.1
* anaconda-2.4.0 (set by /home/michael/.pyenv/version)

有全局版本切换,当然也会有局部环境的切换:
在test文件夹下希望切换到python3.4.1:

pyenv local python3.4.1

python virtualenv创建纯净虚拟环境

虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。

安装插件pyenv-virtualenv

参考文章:http://www.tiny-coder.com/home-article-51.html
pyenv-virtualenv插件安装:项目主页:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。

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

这个插件将安装在主文件夹下的.pyenv文件夹中。

创建一个2.7.1的虚拟环境

pyenv virtualenv 2.7.1 env271

再需要创建虚拟环境的文件夹下创建虚拟环境。

这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/

注意,命令中的 ‘2.7.1’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。

然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。

切换和使用新的python虚拟环境:

pyenv activate env271

这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
下面基本上你就可以在这个虚拟环境里面为所欲为了 :) 再也不用担心系统路径被搞乱的问题了
如果要切换回系统环境, 运行这个命令即可

pyenv deactivate

那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:

rm -rf ~/.pyenv/versions/env271/

或者卸载:

pyenv uninstall env271

Anaconda科学计算包的使用:

使用conda list查看anaconda安装自带的包:

michael@michael-ThinkCentre-XXXX:~/test$ conda list
# packages in environment at /home/michael/.pyenv/versions/anaconda-2.4.0:
#
abstract-rendering 0.5.1 np110py27_0 
alabaster 0.7.6 py27_0 
anaconda 2.4.0 np110py27_0 
anaconda-client 1.1.0 py27_0 
argcomplete 1.0.0 py27_1 
astropy 1.0.5 np110py27_1 
babel 2.1.1 py27_0 
backports.ssl-match-hostname 3.4.0.2 <pip>

注:

  • 使用conda list命令的环境时python版本切换到anaconda版本下,不然,这个命令无法来查询。

  • 看上面列表就能知道,anaconda的环境下,也是能使用系统pip命令安装的包的!

给anaconda安装包

conda install ××××

如果需要指定包的版本。

[package-name]=x.x #指定包的版本

多个Python版本并存,尤其是2.x和3.x的并存。

这个通过virtualenv可以做到。Anaconda也正是通过其实现的。下面用conda创建一个名叫python2的版本为python2.7的环境。

conda create -n python2 python=2.7

这样就会在Anaconda安装目录下的envs目录下创建python2这个目录。
向其中安装扩展可以:

直接用conda install并用-n指明安装到的环境,这里自然就是python2。
像virtualenv那样,先activate,然后在虚拟环境中安装。
注:

  • 关于virtualenv的使用,还需了解,可以参考python生态

  • 下面的操作,貌似会安装很多包,谨慎使用。

conda create -n py34 python=3.4 anaconda

利用Pycharm的版本切换功能~推荐!很方便!

可以选择安装anaconda 不同的版本,然后按照下面操作,切换版本。Windows/Linux下都有Pycharm。

打开pycharm,打开preference --> project --> project interpreter-->

Windows系统切换

首先当然是安装你需要的两个不同版本的python,我安装的是2.7和3.4的,两个版本安装顺序无所谓,但是后面安装的会变成默认的(因为我是后安装的python 3.4,它就变成了默认的python)。

然后去python27 文件夹下面把python.exe改名python2.exe,然后就可以在命令行下通过python或者py来调用3.x,python2来调用2.x。

另外pip的话直接使用 pip2 或者 pip3 就可以了。

virtualenv

简单来说,你的每一个项目都可以拥有一个单独的、孤立的Python环境;你可以把所需的包安装到各自孤立的环境中。1

  • 还是通过pip安装virutalenv。

sudo pip install virtualenv
  • 安装完之后,运行下面的命令,为你的项目创建孤立的Python环境。

$ mkdir my_project_venv
$ virtualenv --distribute my_project_venv
# The output will something like:
New python executable in my_project_venv/bin/python
Installing distribute.............................................done.
Installing pip.....................done.

那么这行代码都做了些什么呢?你创建了一个名叫my_project_venv的文件夹,用于存储新的Python环境。--distribute参数告诉virtualenv使用基于distribute包开发的新的、更好的打包系统,而不是基于setuptools的旧系统。你现在只需要知道,--distribute参数将会自动在虚拟环境中安装pip,免去了手动安装的麻烦。随着你的Python编程经验和知识增加,你会慢慢明白这个过程的具体细节。

  • 通过下面的命令,激活虚拟环境:

$ cd my_project_venv
$ source bin/activate

使用source命令启动activate脚本之后,你的命令行提示符应该会变成这样:

(my_project_venv)$

虚拟环境的名称会添加在$提示符的前面。

  • 现在运行下面的命令,关闭虚拟环境:

(my_project_venv)$ deactivate

当你在系统层面安装virtualenv时(如果激活了虚拟环境,请先关闭),可以运行下面的命令帮助自己理解。

首先,我们来看看如果我们在终端输入python或者pip,系统会使用哪个执行文件。

$ which python
/usr/bin/python
$ which pip
/usr/local/bin/pip

参考:

pyenv

  1. Python多版本共存之pyenv

  2. yyuu/pyenv-github

  3. 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境

  4. lixm/pybooklet-github

  5. 使用 pyenv 和 Miniconda 管理 Python 科学计算环境

  6. Python 2.X 3.X 多版本共存

  7. 一篇文章入门Python生态系统

  8. 用pyenv和virtualenv搭建python虚拟环境

Anaconda

  1. DOWNLOAD ANACONDA NOW

  2. P]ython科学计算利器——Anaconda

  3. Python科学计算发行版—Anaconda


  1. 一篇文章入门Python生态系统 

 

 

1.简介
pyenv 
https://github.com/yyuu/pyenv

pyenv-virtualenv 
https://github.com/yyuu/pyenv-virtualenv

pyenv的作者:Yamashita, Yuu 


pyenv是一种管理Python版本的工具,它支持在多个Python版本间自由切换,并且还具有virtualenv插件,可以简单快速的建立python的虚拟环境。

virtualenv和pyenv-virtualenv 
pyenv-virtualenv是Yamashita, Yuu写的一个pyenv插件,利用他你可以直接通过pyenv直接管理virtualenv。

2.安装pyenv
第零步、根据作者建议,先安装相关依赖库

如果不想在使用中出现莫名其妙的问题,我们最好先安装作者要求的环境,安装方式很简单,只需要运行下面的指令即可:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
1
第一步、在terminal中,运行下面的指令,下载pyenv 的代码到~/.pyenv目录下

  git clone https://github.com/yyuu/pyenv.git ~/.pyenv
1
第二步、添加环境变量 
先查看自身使用的是哪种shell,运行下面指令即可查看

echo $SHELL
1
如果是bash,则会返回

/bin/bash
1
如果是zsh,则会返回

/bin/zsh
1
根据自身终端类型,在相应文件中添加环境变量(其他类型的shell同理) 
bash:利用sudo gedit ~/.bashrc打开文件,在文件末尾添加:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
1
2
zsh:利用sudo gedit ~/.zshrc打开文件,在文件末尾添加

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
1
2
上面的添加过程也可以直接在终端中运行下面的命令完成:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
1
2
(zsh只需将最后的bashrc改成zshrc即可)

第三步、使得在启动shell 的时候,初始化pyenv。 
在命令行中运行如下指令,添加环境变量(与上面同理)

  echo 'eval "$(pyenv init -)"' >> ~/.bashrc
1
(zsh用户注意要将bashrc改成zshrc)

第四步、重启shell,使改动生效

    exec $SHELL
1
3.pyenv的使用
详细的pyenv 指令集可以参见下面的链接: 
https://github.com/yyuu/pyenv/blob/master/COMMANDS.md

以下是常用指令集:

pyenv commands
pyenv local
pyenv global
pyenv shell
pyenv install
pyenv uninstall
pyenv rehash
pyenv version
pyenv versions
pyenv which
pyenv whence
下面简单介绍各个指令的用法: 
pyenv install --list:查询所有可以安装的版本:

pyenv install --list
Available versions:
  2.1.3
  ...
  2.7
  2.7.1
  2.7.2
  ...
  3.2-dev
  3.2
  ...
  3.5.0
  3.5-dev
  ...
  3.6.0
  3.6-dev
  3.7-dev
  ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
安装所需的版本:

pyenv install 2.7.6
pyenv install 2.6.8
1
2
卸载特定的Python版本。

pyenv uninstall
1
显示当前活动的Python版本

pyenv version
2.7.6 (set by /home/yyuu/.pyenv/version)
1
2
Python的全局设置,整个系统生效

pyenv global 2.7.6
1
2
Python的局部设置,当前目录生效

pyenv local 2.7.6
1
2
取消设置

pyenv local --unset
1
高级用法

可以一次将多个版本指定为本地Python。

假设你有两个版本的2.7.6和3.3.3。如果你喜欢2.7.6胜过3.3.3,

pyenv local (高级)
pyenv local 2.7.6 3.3.3
pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
python --version
Python 2.7.6
python2.7 --version
Python 2.7.6
python3.3 --version
Python 3.3.3
1
2
3
4
5
6
7
8
9
10
11
12
如果你喜欢3.3.3胜过2.7.6,

pyenv local 3.3.3 2.7.6
pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
  venv27
python --version
Python 3.3.3
python2.7 --version
Python 2.7.6
python3.3 --version
Python 3.3.3
pyenv global (高级)
1
2
3
4
5
6
7
8
9
10
11
12
13
你可以同时将多个版本指定为全局Python。 
假设你有两个版本的2.7.6和3.3.3。如果你喜欢2.7.6胜过3.3.3,

pyenv global 2.7.6 3.3.3
pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
python --version
Python 2.7.6
python2.7 --version
Python 2.7.6
python3.3 --version
Python 3.3.3
1
2
3
4
5
6
7
8
9
10
11
如果你喜欢3.3.3胜过2.7.6,

pyenv global 3.3.3 2.7.6
pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
  venv27
python --version
Python 3.3.3
python2.7 --version
Python 2.7.6
python3.3 --version
Python 3.3.3
1
2
3
4
5
6
7
8
9
10
11
12
4.如何安装pyenv-virtualenv(pyenv的插件)
重要说明: 如果你没有将pyenv安装到标准目录(~/.pyenv)中,请确保将此插件克隆到安装到位置的“plugins”目录中。

第一步、运行下面的指令,下载pyenv-virtualenv插件

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
1
第二步、:virtualenvs的自动激活 
这个功能是作者开发的一个十分实用的功能,它可以让你在进入到你自己设置过的Python版本的目录下,自动切换到virtualenvs的模式,此时你的相关命令只在当前virtualenvs下有效果。要启用改功能,运行下面的指令,添加环境变量即可

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
1
Zsh注意修改的是~/.zshenv或者~/.zshrc,而不是~/.bashrc。

第三步、:重新启动shell,以使路径更改生效。

exec $SHELL
1
5.使用pyenv-virtualenv
我们可以通过 pyenv virtualenv指令,指定所需的Python版本和virtualenv目录的名称。

从当前环境的python版本创建virtualenv
pyenv virtualenv envtest1
1
列出现有virtualenvs
pyenv virtualenvs显示现有virtualenv和conda环境的列表。
pyenv shell venv34
pyenv virtualenvs
  miniconda3-3.9.1(从/home/yyuu/.pyenv/versions/miniconda3-3.9.1创建)
  miniconda3-3.9.1 / envs / myenv(从/home/yyuu/.pyenv/versions/miniconda3-3.9.1创建)
  2.7.10 / envs / my-virtual-env-2.7.10(从/home/yyuu/.pyenv/versions/2.7.10创建)
  3.4.3 / envs / venv34(从/home/yyuu/.pyenv/versions/3.4.3创建)
  my-virtual-env-2.7.10(从/home/yyuu/.pyenv/versions/2.7.10创建)
 * venv34(从/home/yyuu/.pyenv/versions/3.4.3创建)
 
激活virtualenv
如果eval “$(pyenv virtualenv-init -)”在shell中配置,pyenv-virtualenv将在进入/离开包含.python-version列出有效虚拟环境的文件的目录时自动激活/停用virtualenvs。python-version文件表示本地Python版本,可以使用pyenv local命令创建和删除。 
也就是说,当我们在某个目录下运行pyenv local test1时,该目录就会创建一个.python-version的隐藏文件,文件内存有虚拟环境test1的名称,当下次我们再进入这个目录时,pyenv就会自动启动虚拟环境,无须人为控制。

如果不想设置自动启动虚拟环境,也可以通过下面的命令手动激活和停用pyenv virtualenv:

pyenv activate virtualenv的名称 
pyenv deactivate
1
2
删除现有virtualenv
pyenv uninstall my-virtual-env 

 

今天有把此前接触过的三种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

 

pyenv 原理

pyenv 的美好之处在于,它并没有使用将不同的 $PATH 植入不同的 shell 这种高耦合的工作方式,而是简单地在 $PATH 的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而架空了后面的系统路径。

pyenv 安装使用

自动安装

pyenv 提供了自动安装的工具,执行命令安装即可:

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

需保证系统有 git ,否则需要新安装git工具。

手动安装

将 pyenv 检出到你想安装的目录。建议路径为:$HOME/.pyenv

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

添加环境变量。PYENV_ROOT 指向 pyenv 检出的根目录,并向 $PATH 添加 $PYENV_ROOT/bin 以提供访问 pyenv 这条命令的路径

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

这里的 shell 配置文件(~/.bash_profile)依不同 Linux 而需作修改——Zsh:~/.zshenv;Ubuntu:~/.bashrc

向 shell 添加 pyenv init 以启用 shims 和命令补完功能

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

配置文件的位置同上一条一样需要修改

重启 shell(因为修改了 $PATH)

$ exec $SHELL

pyenv 常用命令

python配置

  • $ pyenv versions -- 查看系统当前安装的python列表

  • $ pyenv install -v 3.5.1 -- 安装python

  • $ pyenv uninstall 2.7.3 -- 卸载python

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

python切换

  • $ pyenv global 3.4.0 -- 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。

  • $ pyenv local 2.7.3 -- 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。
    pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。

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

  • $ pyenv shell --unset

python优先级

shell > local > global

pyenv 插件: pyenv-virtualenv

安装

使用自动安装pyenv 后,它会自动安装部分插件,通过pyenv-virtualenv 插件可以很好的和 virtualenv 结合:

[root@linux3311 ~]# cd .pyenv/plugins/
[root@linux3311 plugins]# ll
insgesamt 24
drwxr-xr-x. 4 root root 4096 19. Jun 05:17 pyenv-doctor
drwxr-xr-x. 5 root root 4096 19. Jun 05:18 pyenv-installer
drwxr-xr-x. 4 root root 4096 19. Jun 05:18 pyenv-update
drwxr-xr-x. 7 root root 4096 19. Jun 05:18 pyenv-virtualenv
drwxr-xr-x. 4 root root 4096 19. Jun 05:18 pyenv-which-ext
drwxr-xr-x. 5 root root 4096 19. Jun 05:17 python-build
 

使用

  • 创建虚拟环境 $ pyenv virtualenv 2.7.10 my-virtual-env-2.7.10 
    若不指定python 版本,会汇报认使用当前环境python版本。

  • 列出当前虚拟环境 pyenv virtualenvs

  • 激活虚拟环境 pyenv activate

  • 退出虚拟环境 pyenv deactivate

  • 删除虚拟环境 pyenv uninstall my-virtual-env

使用pyenv 来管理python,使用 pyenv-virtualenv 插件来管理多版本 python包。

此时,还需注意,当我们将项目运行的 env 环境部署到生产环境时,由于我们的python 包是依赖python 的,需要注意生产环境的python版本问题(详见 这里)。

以上为个人拙见,欢迎小伙伴们留言交流。小伙伴们若有更好的python 多版本环境管理方案,希望留言不吝赐教,在此,先谢过了!

参考

pyenv 下载地址 这里
virtualenv 中文文档地址 这里
http://my.oschina.net/lionets/blog/267469
https://github.com/yyuu/pyenv-virtualenv

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值