在python开发中,我们经常会遇到一种情况,就是不同的项目依赖的python版本不同,这样就会造成环境冲突,virtualenv(虚拟环境)就是解决这种情况的。virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去,不同项目之间相互不干扰。
virtualenv可以让一个项目所有的依赖都保持独立。比如A项目用的python2.7版本,opencv用的是3.4版本。B项目用的python3.6版本,opencv用的是4.4版本。那么这两个项目可以通过虚拟环境来分开,互不干预。在virtualenv中安装的任何包都不会对全局环境产生任何影响。
ubuntu可以直接apt-get安装virtualenv:
sudo apt-get install virtualenv
默认安装的是python3版本的virtualenv,然后等待下载和安装完成,
windows是直接用pip安装:
pip install virtualenv
当然还可以手动下载安装包进行安装。
养成好习惯,我们先在根目录下创建个Virtualenv目录,专门用来存储虚拟环境。
mkdir ~/Virtualenv
每次创建环境前,先cd到该目录下,这样创建的虚拟环境就存放在该目录中了。
cd Virtualenv
比如我需要创建个python3.6的环境,环境名称为py36,那么直接可以输入:
virtualenv -p python3 py36
然后就会帮你快速创建好虚拟环境。
比如我要进入py36的环境,那么继续输入命令:
source py36/bin/activate
可以看到命令行前多了(py36),说明已经进入py36这个局部环境中了。
如果想退出环境,输入deactivate
,这将关闭当前的虚拟环境,回到全局环境。
如果某个环境不想要了,想删除环境,那么直接在Virtualenv目录下执行命令:
rm -r 环境名
如果采用全局安装,会污染全局包,所以一般安装都是在一个虚拟环境中,不会影响其他的项目环境。virtualenv和anaconda用法非常相近,都是python环境的管理工具。如果想要给不同的项目单独的容器,还是使用docker。