虚拟环境是Python程序设计和开发中非常有用的工具。本文介绍Python虚拟环境的概念和作用,以及常用的虚拟环境管理工具的使用方法。
什么是虚拟环境
Python程序具有天然的开源特性,这使得各种包之间存在着较为复杂的依赖关系。在实际的开发中,可能会存在不同的项目会依赖相同的工具包,但是需要的版本不一致的情况。例如,A项目和B项目都要使用X包,但是A依赖X(v1.0)B依赖X(v2.0)。同一个Python环境之中只能有一个版本的X,因而A项目和B项目不能共存。
理想的解决办法是在计算机中安装多个不同的Python环境,项目A和项目B在不同的环境中开发。但同一个软件在操作系统中安装多次显然是不可行的,Python中采用虚拟环境技术来解决这个问题。系统中安装的Python环境称为初始环境,在初始环境中使用虚拟环境管理工具创建出来的独立的Python运行环境称为虚拟环境。
虚拟环境之间是相互隔离的,不同环境中的包之间也不存在依赖关系。因而不同开发项目可根据需要搭建环境,
运行在独有的Python环境之中。在部署项目时可以直接复制开发环境,在提高部署便捷性的同时降低了程序运行的风险。
虚拟环境的创建和使用
Python中创建和管理虚拟环境的工具有多种,应用最为广泛的要属virtualenv
了。它是一种第三方工具包,在安装Python之后可使用pip
安装,既能支持Python 2.7也能支持Python 3.x。不过,Python 3.3及以上的版本之中内置了一种名为venv
的虚拟环境管理工具,其使用方法与virtualenv
相似。另外,conda