1. 简介
介绍
Python虚拟环境(virtual environments)类似于一个沙箱,在虚拟环境中会使用独立的模块、库,而不会去使用系统的 site-packages
目录下的模块和库。
使用场景
在Python中概要使用虚拟环境的场景有很多,比如如果要在一个Python版本下运行多个服务,但是每个服务需要使用的模块和库的版本都不相同。或者你想为你的每个Python项目都配置独立的模块和库,不想它们互相之间影响。这个时候虚拟环境就派上了用场。
原理
虚拟环境主要是利用了操作系统中环境变量以及进程间环境隔离的特性。其中 PATH 是很重要的环境变量,用于为操作系统和程序提供可执行文件的访问路径,例如写一个程序 a.exe
,存放在 D:\
中,在命令行中执行 a.exe
,会得到提示“ 无法找到程序 a.exe”,为了让系统找到,可以将 D:\
路径加入到 PATH 环境变量中,当输入 a.exe
时,操作系统就可以成功执行。
Python 虚拟环境就是利用这个特性构建的,在激活虚拟环境之时,激活脚本会将当前命令行程序的 PATH 修改为虚拟环境的,这样执行命令就会在被修改的 PATH 中查找,从而避免了原本 PATH 可以找到的命令,从而实现了 Python 环境的隔离。
2. 创建
virtualenv
在Python3.3