virtualenv是一个python包,用来创建隔离的python运行环境。
应用场景
1.可以为每一个项目创建项目运行时的独立的python环境,防止不同项目间的冲突和干扰
2.当做一些项目的开发和调试时,可以在virtual环境中进行调试,防止污染系统默认的python环境
一个简单的实例
一台服务器,需要做以下为以下2个项目准备环境:
1. 基于python 2.7 进行ansible相关部署,需要额外安装的python包有Ipy, dnspython
2. 基于python3.6 进行ansible相关部署,需要额外安装的python包有six
试验步骤
1. 查看和准备环境
查看当前系统默认的python版本, 并确认pip已安装, 若当前版本没有python, 和使用系统命令进行安装(例如centos的yum, fedora的dnf)或者参考文中所示的手动安装
手动安装python3.6版本和相应的pip
安装脚本如下
![](https://img.haomeiwen.com/i5947200/aa991aa99c1bf06f.png)
用分别安装各自的virtualenv
![](https://img.haomeiwen.com/i5947200/ad52ca52d6bfe8eb.png)
确认环境无误后,则开始试验
2. 试验步骤
两个项目操作步骤类似,这里以项目2为例:
创建虚拟环境并指定项目的python版本和包目录. 请仔细看命令和执行输出哦。
![](https://img.haomeiwen.com/i5947200/10b0140bba841140.png)
将需要安装的包写入requirement_project2.txt. 本项目中是six和ansible
![](https://img.haomeiwen.com/i5947200/75c3cdeb06dccaaf.png)
激活虚拟环境却确认环境没有问题
![](https://img.haomeiwen.com/i5947200/f26d329a8c8fc3f5.png)
在当前环境中安装项目需要的包
![](https://img.haomeiwen.com/i5947200/e4c75263beea929f.png)
检测试验结果
![](https://img.haomeiwen.com/i5947200/38189c0dfa28c596.png)
则项目环境准备完成。退出虚拟环境。
![](https://img.haomeiwen.com/i5947200/d29dd7cb451c39ff.png)
项目1 试验结果展示
![](https://img.haomeiwen.com/i5947200/ed55083424e73a10.png)
deactivate仅仅是退出当前虚拟环境,而并非删除。只要不删除该项目目录,则可重复激活,每次激活的都是其上次退出时的状态。
网友评论