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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。