python之虚拟环境 virtualenv
简介
今天我们来说说python非常强大的一个特性,其实说特性不是很准确,因为当你默认安装完python之后,其实并没有virtualenv,或者不支持虚拟环境,但是我这里我仍然喜欢称它为python 的特性,python这个名词本身不单单指语言本身,还包括了大量的库和工具,而这个工具恰恰使其有了功能。
关于什么时候virtualenv被引入,这个话题暂不论(也许有机会我会在另开一篇文章追根朔源virtualenv的历史),今天我们谈谈的用处和基本用法。
记得3年前也就是2013年,那时候开发一个产品,由于之前已经有个产品也是用python开发,用的是python的版本是2.6,而这个新的产品我打算采用python 2.7版本,这样几个机器就有python就有2个版本,而每个版本都对应自己的各种库,这样这个机器上的python以及对应的库的管理和升级就优点混乱。除此之外还有一个问题,不同的产品用的是统一版本的python,比如说是2.7,但是它们使用库的版本不一样,比如使用django,一个1.9,还有一个1.10,那么这就有很大的问题,因为对于同一个版本的python安装库的路径是一样的,比如,
/usr/lib/python2.7/site-packages
,这样就会造成不小心把django的版本给升级后,导致另外一个django的工程不能工作的问题。这个virtualenv就出场了,它就是为了解决这样的问题而产生的。virutalenv可以让你在同一个机器上有不同python的运行环境,这个环境就在某一个任意的文件夹下面。
安装
默认python是没有安装这个virtualenv的,运行下面的命令安装,
$> sudo pip install virutalenv
或者到官网下载对应压缩包,然后使用
$> sudo python setup.py install
使用
创建环境
先创建一个工程,其实就是创建一个文件夹
$> mkdir myproject
$> cd myproject
然后在这个文件夹下面创建虚拟环境,比如我们给这个环境取名为myenv,名字无所谓,可以为任意名字
$> virutalenv myenv
执行完这个命令后可以看看,本目录下面多了一个文件夹myenv,里面有了运行我们python的基本可执行文件和库,
bin include lib pip-selfcheck.json
激活环境
接下来我们激活这个环境,之后所有的安装的python库都会进入lib这个文件夹,这样所安装库只会影响这个工程。
$> source myenv/bin/activate
反激活环境
$> deactivate
这里列出其他一些与之有关的命令
lsvirtualenv
列出所有的环境.
cdvirtualenv
进入到当前激活的虚拟环境的文件夹.
cdsitepackages
进入到当前激活的虚拟环境的文件夹下面的sitepackages.
lssitepackages
列出所有site-packages文件夹下面的文件.
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则
按侵权处理.