众所周知,Python 的第三方包有成千上万个。在工作或学习时,我们可以灵活的调用这些包,来快速提高工作和学习的效率。但是,我们在同一个 Python 环境下开发时间越久、安装依赖越多,就很容易出现依赖包冲突的问题。为了解决这个问题, virtualenv就顺应而生了,virtualenv可以通过搭建虚拟且独立的 Python 环境,将我们所需的依赖安装进去。这样就可以使每个项目环境与其他项目独立开来,保持环境的干净,同时也解决了包冲突的问题。
下面就教大家如何使用virtualenv:
一、安装virtualenv
安装virtualenv比较简单,无论是在linux系统上还是windows上都可以通过pip来进行安装。
代码如下:
pip install virtualenv
如果安装不成功,可以尝试下载virtualenv源码package,通过执行setup.py来安装virtualenv。
二、基本用法
创建虚拟环境
$ cd my_project_folder
$ virtualenv venv # venv 可替换为别的虚拟环境名称
执行后,在本地会生成一个与虚拟环境同名的文件夹,包含 Python 可执行文件和 pip 库的拷贝,可用于安装其他包。
但是默认情况下,虚拟环境中不会包含也无法使用系统环境的global site-packages。比如系统环境里安装了 requests 模块,在虚拟环境里import requests会提示ImportError。如果想使用系统环境的第三方软件包,可以在创建虚拟环境时使用参数–system-site-packages。
virtualenv --system-site-packages venv
另外,你还可以自己指定虚拟环境所使用的 Python 版本,但前提是系统中已经安装了该版本:
virtualenv -p /usr/bin/python2.7 venv
使用虚拟环境
进入虚拟环境目录,启动虚拟环境。
代码如下:
cd venv
source bin/activate # Windows 系统下运行 Scripts\
python -V
如果未对命令行进行个性化,此时命令行前面应该会多出一个括号,括号里为虚拟环境的名称。启动虚拟环境后安装的所有模块都会安装到该虚拟环境目录里。
退出虚拟环境
输入命令:deactivate即可。
如果项目开发完成后想删除虚拟环境,直接删除虚拟环境目录即可。
附:相关命令
lsvirtualenv -b # 列出虚拟环境
workon [虚拟环境名称] # 切换虚拟环境
lssitepackages # 查看环境里安装了哪些包
cdvirtualenv [子目录名] # 进入当前环境的目录
cpvirtualenv [source] [dest] # 复制虚拟环境
deactivate # 退出虚拟环境
rmvirtualenv [虚拟环境名称] # 删除虚拟环境