python之虚拟环境 virtualenv

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文件夹下面的文件.

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则
按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *