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
安装脚本如下

用分别安装各自的virtualenv

确认环境无误后,则开始试验
2. 试验步骤
两个项目操作步骤类似,这里以项目2为例:
创建虚拟环境并指定项目的python版本和包目录. 请仔细看命令和执行输出哦。

将需要安装的包写入requirement_project2.txt. 本项目中是six和ansible

激活虚拟环境却确认环境没有问题

在当前环境中安装项目需要的包

检测试验结果

则项目环境准备完成。退出虚拟环境。

项目1 试验结果展示

deactivate仅仅是退出当前虚拟环境,而并非删除。只要不删除该项目目录,则可重复激活,每次激活的都是其上次退出时的状态。
网友评论