Virtualenv 的安装与配置

前言

pip上拥有丰富的第三方包,这是使用Python做开发的一个优势,但是在一个 Python 环境下开发时间越久、安装依赖越多,就越容易出现依赖包冲突的问题(使用pyspark做开发时,pandas和numpy包版本冲突给我本人带来不少难忘的回忆)。Python的包只能同时安装一个版本,对一个开发多个复杂项目的环境来说,只有像Java系的Maven库那样,多个版本同时保留,依赖检查延迟到打包时,才能确保并行开发;否则,A项目需要a包的1.0版本,B项目需要它的2.0,这就没法一起玩了。

为了解决这个问题,开发者们开发出了 virtualenv,可以搭建虚拟且独立的 Python 环境。这样就可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。

安装virtualenv

从Python 3.3开始,标准库中就自带了一个venv模块,拥有virtualenv的部分功能。 因此,也可以通过以下命令来创建虚拟环境。

$ python3 -m venv venv

venv只能创建当前版本的虚拟环境,不能创建其它Python 3.x的版本,以及Python 2的环境。所以如果开发者想建立起他Python版本的虚拟环境,建议使用virtualenv。

注意:
同一台电脑上,如果有自己安装的Python环境和anaconda集成环境,在使用anaconda的Python版本时,需要用conda下载的virtualenv,否则构建虚拟环境时会报错,错误如下:
ERROR: virtualenv is not compatible with this system or executable
安装脚本如下:

conda  install virtualenv

对于系统Python安装简易使用pip,安装脚本如下:

pip install virtualenv

使用virtualenv

先切换到项目工程所在的路径,如本例中工程名为test

$ cd test

创建虚拟环境文件夹

$ mkdir venv

构建纯净的虚拟环境

$ virtualenv --no-site-packages venv 

如果想要用系统环境的第三方软件包

$ virtualenv --system-site-packages venv

如果想要指定虚拟环境的Python版本,此处指定的2.7版本(系统中必须要有该版本)

$ virtualenv -p /usr/bin/python2.7 venv

激活virtualenv

$ source venv/bin/activate

激活后如果在命令行中看到(venv)前缀表示激活成功,切换到venv文件夹中能看到复制的Python环境。
退出虚拟环境

$ deactivate

结语

Python由于2和3的分裂,发展出了虚拟环境(virtualenv)的技术。虚拟环境技术,已成为当今Python生态的一个核心内容。当然本文只是对virtualenv进行了简当介绍,相信在工程测试和生产中,虚拟环境能给各位同学带来切实的方便。

你可能感兴趣的:(python)