Python部署虚拟环境的利器——Virtualenv

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python部署虚拟环境的利器——Virtualenv相关的知识,希望对你有一定的参考价值。

virtualenv is a tool to create isolated Python environments.

virtualenv 是创建独立Python开发环境的工具,用于解决同一台机器上不同的Python工程的依赖、版本以及间接权限等问题。比如项目foo1依赖Django1.3,而项目foo2依赖Django1.7,而当前全局开发环境为Django1.8,版本的不同会导致项目所需包的版本不兼容等问题,使项目无法正常运行,使用virtualenv来创建相对独立的虚拟环境,可以很好的解决此类问题。此外,值得一提的是,对于项目打包迁移,如部署Web应用项目等应用场景,virtualenv都很有用武之地。

virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库。

下面介绍一下与使用Virtualenv相关的技巧。

 

1.安装Virtualenv

$ pip install virtualenv
//或者由于权限问题使用sudo临时提升权限
$ sudo pip install virtualenv

2.virtualenv创建虚拟环境

1 virtualenv ENV    
2 #创建一个名为ENV的目录,并安装了ENV/bin/python
3 #创建了lib,include,bin目录,安装了pip

lib目录 : 所有安装的python库都会放在这个目录中的lib/pythonX.X/site-packages/中 ;

bin目录 : bin/python是当前虚拟环境使用的python解析器 ;

如果在命令行中运行virtualenv --system-site-packages ENV, 会继承/usr/lib/python3.6/site-packages下的所有库, 最新版本virtualenv把把访问全局site-packages作为默认行为
default behavior.

3.激活virtualenv

1 #ENV目录下使用如下命令
2 source ./bin/activate  #激活当前virtualenv
3 #当用户名前面出现小括号括起来的虚拟环境名时,表明虚拟环境被成功激活

使用“pip list”指令可查看当前库

4.关闭virtualenv

deactivate

5.指定python版本

可使用-p PYTHON_EXE选项在创建虚拟环境的时候指定Python版本

1 #创建python2.7虚拟环境
2 virtualenv -p /usr/bin/python2.7 ENV2.7
3 
4 #创建python3.4虚拟环境
5 virtualenv -p /usr/local/bin/python3.4 ENV3.4

这样可以解决不同项目python版本冲突以及和python库版本不兼容等问题。

6.生成可打包环境

某些特殊需求下,可能没有网络,我们希望直接打包一个ENV,解压后直接使用,这时候可以使用virtualenv --relocatable指令将ENV修改为可更改位置的ENV

#对当前已经创建的虚拟环境更改为可迁移
virtualenv --relocatable ./

7.获得帮助

virtualenv -h

8.官方文档

http://virtualenv.readthedocs.org/en/latest/virtualenv.html


以上是关于Python部署虚拟环境的利器——Virtualenv的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu virtualenv python 虚拟环境的安装和配置

Ubuntu安装虚拟环境

python创建虚拟环境

python虚拟环境搭建

python虚拟环境--virtualenv

python 创建虚拟环境遇到的问题