## 人生苦短我用python[0x09] 使用virtualenv隔离python环境 ##

<font color=red>文章内容为原创,欢迎转载请注明出处</font>

作者: EflyPro->晦明禅师

1.背景

在开发python项目中,我们可能会遇到一种场景,在同一台机器上的python运行环境需要隔离,特别是在多人使用和存在不同版本库情况下,比如A开发人员用了库1.0,B开发人员用了库2.0,为了使系统默认的python环境不受污染,需要一个工具,能对python开发运行环境进行有效隔离。

2.virtualenv

virtualenv则是解决了python开发运行环境隔离问题的一种解决方案,具体可以参考官网

<a href="https://virtualenv.pypa.io/en/stable/">点击访问官网</a>

virtualenv实现了安装包的隔离,在某一环境下安装包不会影响其他的环境,还可以针对不同的环境设置不同版本的python解析器,比如可以选择python2的,也可以选择python3,下面我们通过简单的例子来示范virtualenv的安装与使用。

3.安装与使用

安装virtualenv很简单,只需要使用python包管理工具pip安装即可

pip install virtualenv

安装顺利完成之后,我们可以开始创建python运行环境了

#我们在/tmp目录下进行我们的示范试验
cd /tmp
mkdir test
cd test

#先创建一个test01的环境
virtualenv test01

#再创建一个test02的环境
virtualenv test02

#我们可以使用ls命令,可以看到test01,test02文件夹下面都有各自的python运行环境所需要的目录和文件
ls test01
ls test02

#下面我们演示设置不同python解析器,默认情况下采用的是python2,我们对test02设置采用python3的解析器
virtualenv -p /usr/bin/python3.5 test02

#在使用test01,test02环境之前,我们需要执行激活脚本
#使用test01环境
source test01/bin/activate
#执行完后,你会发现终端名称发生了变化,比如本机返回
(test01) root@iZwz9fz5sbmqiuiukgse8pZ:/tmp/test#

#这样我们就可以清晰得知当前是在test01环境下,我们看看python版本号
python -V
#返回以下内容
Python 2.7.12
#执行deactivate退出当前环境回到普通终端状态
deactivate

#我们再进去test02环境看看
source test02/bin/activate
#返回终端切换成test02
(test02) root@iZwz9fz5sbmqiuiukgse8pZ:/tmp/test#
#查看python解析器版本
python -V 
#返回以下内容
Python 3.5.2

#从上面的实例,我们可以看到使用virtual确实实现了python运行环境的隔离,下面我们在不同环境下安装包看看是否隔离
#我们在test02环境下用pip安装daemon库
(test02) root@iZwz9fz5sbmqiuiukgse8pZ:/tmp/test# pip install daemon
#安装成功后,我们看看当前安装的库
(test02) root@iZwz9fz5sbmqiuiukgse8pZ:/tmp/test# pip list
appdirs (1.4.3)
daemon (1.1)
packaging (16.8)
pip (9.0.1)
pyparsing (2.2.0)
setuptools (35.0.1)
six (1.10.0)
wheel (0.29.0)
#我们看到test02环境已经安装了daemon库了,我们切换过去test01环境,看看
appdirs (1.4.3)
packaging (16.8)
pip (9.0.1)
pyparsing (2.2.0)
setuptools (35.0.1)
six (1.10.0)
wheel (0.29.0)
#我们可以看到test01环境没有daemon,证明环境的包是隔离的

由睿江云提供,想了解更多,请登陆www.eflycloud.com

转载于:https://my.oschina.net/u/3363053/blog/1456856

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值