12.1 【虚拟环境】为什么要有虚拟环境?¶
虚拟环境的意义,就如同虚拟机 一样,它可以实现不同环境中Python依赖包相互独立,互不干扰。
举个例子吧。
假设我们的电脑里有两个项目,他们都用到同一个第三方包,本来一切都顺利。但是由于某种原因,项目B由于某些原因要使用这个第三方包的一些新特性(新版本才有),而如果就这样贸然升级了,对项目A的影响我们无法评估,这个时候我们就特别需要有一种解决方案可以让项目A和B,处于两个不同的Python环境中。互不影响。
为了方便大家对虚拟环境有个认识,我列举了下其优点:
使不同应用开发环境独立
环境升级不影响其他应用,也不会影响全局的python环境
可以防止系统中出现包管理混乱和版本的冲突
市场上管理 Python 版本和环境的工具有很多,这里列举几个:
p
:非常简单的交互式 python 版本管理工具。pyenv
:简单的 Python 版本管理工具。Vex
:可以在虚拟环境中执行命令。virtualenv
:创建独立 Python 环境的工具。virtualenvwrapper
:virtualenv 的一组扩展。
工具很多,但个人认为最好用的,当属
virtualenvwrapper
,推荐大家也使用。