python虚拟环境迁移,python虚拟环境有什么用

  python虚拟环境迁移,python虚拟环境有什么用

  Pyenv和virtualenv作为主流开发语言用于构建单机多版本python虚拟开发环境,越来越多的程序是用python开发的。方便的是,python默认集成在大多数linux系统中,可以随时随地开始开发。但有时也成为短板。比如有时候我们需要开发调试一些需要安装在默认python路径下的程序。反复修改安装会让系统目录越来越乱,这是一些整洁的程序员无法接受的。有时候我们需要在不同的python版本上开发,系统通常只自带一两个python版本,切换起来就更麻烦了。

  本文将介绍如何使用pyenv和virtualenv在单台机器上构建多版本python虚拟开发环境。

  首先我们来了解一下pyenv和virtualenv分别是做什么的。

  Pyenv可以帮助你在一台开发机器上构建多个版本的python环境,并提供便捷的切换方式。

  Virtualenv提供了在虚拟python环境中构建目录的功能。这样,用户可以构建多个虚拟环境,每个环境中的python版本可以不同也可以相同,环境之间相互独立。

  如果解释不清楚,我们来举个例子。

  首先我们可以用pyenv安装多个python版本,比如2.5,2.6,3.3。用户可以随意切换当前默认的python版本。但此时每个版本的环境仍然是唯一的,如果我们要在环境中安装一些库,仍然会导致这个版本的环境被修改。这时候如果用virtual env搭建一个虚拟环境,完全可以保证系统路径的干净。无论你在虚拟环境中安装什么程序,都不会影响系统环境的已安装版本。

  说了这么多,还是练一练比较好。本文的例子是在一个干净的Ubuntu机器上实现的。

  1.首先我们安装pyenv。

  因为我的Ubuntu是干净的,所以我需要先安装curl和git。

  Sudapt-get安装curl git-core接下来,安装pyenv

  curl-l https://raw . github . com/yyuu/pyenv-installer/master/bin/pyenv-installer bash该命令会将pyenv安装到当前用户的~/中。pyenv目录。

  同时,我们还需要将下面的代码保存在~/中。bashrc文件:

  export PYENV_ROOT=${HOME}/。pyenv

  if[-d $ { PYENV _ ROOT } ];然后

  导出路径=${PYENV_ROOT}/bin:${PATH}

   eval(pyenv init -)

  船方不负担装货费用

  这段代码的目的是指示pyenv的位置,以便您将来可以直接从命令行运行pyenv命令。它保存在~/中。bashrc文件,这样它将在用户每次登录时自动生效。

  因此,如果您是第一次运行该命令,并且没有注销,此段落将不会生效。我们还需要运行下面的命令来使它生效。

  来源~/。bashrc,然后您可以直接在命令行中键入pyenv。

  2.安装一些必要的软件包。

  安装其他版本的python时,su DAP-get build-dep Python 2.7将需要这些包。

  3.安装某个版本的python

  首先,我们可以检查哪些版本的python可以安装。

  pyenv安装列表的结果如下:

  2.4

  2.4.1

  2.4.2

  2.4.3

  2.4.4

  2.4.5

  2.4.6

  2.5

  .

  接下来,作为一个例子,我们安装两个版本(2.7.1和3.3.5)

  安装pyenv install 2 . 7 . 1 pyenv install 3 . 3 . 5后,我们可以检查安装状态。

  pyenv版本的输出结果如下:

  *系统(由/home/tony/设置。pyenv/版本)

  2.7.1

  3.3.5简单来说,我们在这台机器上安装了三个版本的python。

  System表示当前系统的python版本

  2.7.1和3.3.5是我们用pyenv安装的。

  *表示当前python版本。如您所见,我们仍然使用默认系统自带的python版本。

  4.切换python版本做测试

  现在已经安装了python的另外两个版本,让我们做一个测试。

  Pyenv global 2.7.1该命令用于将当前python版本切换到2.7.1。

  再次运行pyenv版本,结果如下:

  系统

  * 2.7.1(由/home/tony/设置)。pyenv/版本)

  3.3.5可以看到当前python版本已经切换到2.7.1。如果您不放心,只需运行“python”命令进行验证:

  tony@ubuntu:~$ python

  Python 2.7.1 (r271:86832,2014年5月9日,01:07:17)

  linux3上的[GCC 4.8.2]

  有关详细信息,请键入“帮助”、“版权”、“配额”或“许可证”。这里可以很清楚的看到,现在的版本确实是2.7.1。

  同样,我们可以继续使用python global在不同版本之间切换。如果您想切换回系统版本,请使用:

  Pyenv全局系统如果你想卸载一个版本的python,你可以这样做:

  pyenv卸载x.x.x

  5.使用virtualenv创建虚拟python环境

  现在我们已经安装了几个python版本,但这还不够。一些整洁的程序员必须有一个干净的系统环境。这时,我们可以使用virtualenv创建一个虚拟的python环境。

  Virtualenv是一个独立的工具,官方网站在这里:https://pypi.python.org/pypi/virtualenv

  幸运的是,如果你按照我们之前安装的方式安装pyenv,它已经为我们以插件的形式安装了virtualenv。我们只需要使用它。

  首先,我们创建一个2.7.1虚拟环境。

  Py virtual env 2.7.1env271这个命令在这台机器上创建一个名为env271的python虚拟环境。该环境的真实目录位于:~/。pyenv/版本/

  注意,命令中的 2.7.1 必须是在前面步骤中已经安装的python版本,否则会出现错误。

  然后,我们可以通过“pyenv versions”命令继续查看当前的虚拟环境,结果如下:

  *系统(由/home/tony/设置。pyenv/版本)

  2.7.1

  3.3.5

  Env271在这里我们可以看到,除了已安装的python版本,我们还有一个env271 python虚拟环境。

  6.切换并使用新的python虚拟环境

  切换到新虚拟环境的命令是

  Pyenv激活env271接下来,我们的python环境已经切换到2.7.1的虚拟环境,运行‘python’命令进行认证。

  (env271)tony@ubuntu:~$ python

  Python 2.7.1 (r271:86832,2014年5月9日,01:07:17)

  linux3上的[GCC 4.8.2]

  有关详细信息,请键入“帮助”、“版权”、“配额”或“许可证”。如您所见,python版本2.7.1已经在虚拟环境中了(env271)

  基本上你可以在这个虚拟环境里为所欲为:)再也不用担心系统路径被搞乱了。

  如果您想切换回系统环境,只需运行这个命令。

  Pyenv停用如果要删除此虚拟环境,该怎么办?答案简单粗暴,删除所在目录即可:

  Rm -rf ~/。pyenv/versions/env271/安装virtualenv和virtualenvwrapper

  $sudo apt-get安装python-virtualenv

  $ sudo easy _ install virtualenvwrapper

  安装以上工具后,找不到mkvirtualenv命令,需要进行以下环境变量设置。

  1.创建一个目录来存储虚拟环境

  mkdir $HOME/。虚拟人

  2.在~/中添加该行。bashrc:

  导出WORKON_HOME=$HOME/。虚拟人

  source/usr/local/bin/virtualenvwrapper . sh

  3.操作:

  来源~/。没有则创建

  3.创建python虚拟环境

  mkvirtualenv[虚拟环境名]

  4.切换虚拟环境

  工作[虚拟环境名称]

  5.退出虚拟环境

  复员

  6.删除虚拟环境

  rmvirtualenv[虚拟环境名称]

  注意:创建的环境是独立的,互不干扰。pip可用于管理软件包,无需sudo许可。如果虚拟环境中用sudo安装的包在主环境中。

  使用-p参数指定虚拟环境中python的版本

  $ mkvirtualenv-p python python 2 _ tornado

  转载请联系作者授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: