为什么需要虚拟环境
在python开发中,我们可能会遇到一种情况:就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突。在这种情况之下,我们就需要一个工具能够将这两种或几种不同版本的环境隔离开来,需要哪个版本就切换到哪个版本做为默认版本,让每个版本应用都各自拥有一套“独立”的Python运行环境。而virtualenv就可以解决这种情况,它通过创建一个虚拟化的python运行环境,在同一计算机中隔离多个python版本的工具,将我们所需的依赖安装进不同的虚拟环境中,使不同项目之间相互独立、不干扰。也就是说在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器。
安装virtualenv
因为自己笔记本同时安装了python2和python3,具体的安装方法可以自行百度,python使用的是python和pip,python3使用的是python3和pip3
pip3 install virtualenv
创建虚拟环境
创建虚拟环境文件夹
在E盘Python文件夹中创建Envs文件夹作为虚拟环境文件夹,用来存放基于python3的虚拟环境
使用cmd进行创建,提前进入E:PythonEnvs目录,在cmd中输入以下命令
virtualenv -p C:PythonPython36python3.exe scrapyenv --distribute --no-site-package
命令解释说明:
p C:PythonPython36python3.exe 指定将使用C:Python36python3.exe的python解释器 我使用的笔记本电脑上同时安装了python2和python3,其中python3安装了virtualenv,仍然可以指定python2作为虚拟环境的python解释器 scrapyenv scrapyenv为虚拟环境存放路径 --distribute 使virtualenv使用新的基于发行版的包管理系统而不是 setuptools 获得的包。该选项会自动在新的虚拟环境中安装 pip ,这样就不需要手动安装了。 --no-site-package 在默认情况下,所有安装在系统范围内的包对于virtualenv是可见的。该选项在创建virtualenv时不会读取系统包
创建后的E:PythonEnvsscrapyenv
Scripts目录为
其中:
- activate:这个virtualenv的激活文件
- pip:这个virtualenv的独立pip
- python:python解释器的一个副本
激活虚拟环境
首先进入到目录E:PythonEnvsscrapyenvScripts
测试虚拟环境
停止虚拟环境
删除虚拟环境
直接删除对应目录即可。
virtualenvwrapper
为了使用virtualenv更方便,可以借助 virtualenvwrapper
安装virtualenvwrapper
pip3 install virtualenvwrapper
创建虚拟环境环境变量
默认创建的虚拟环境位于E:PythonEnvs,可以通过环境变量 WORKON_HOME
来定制。
通过计算机-->属性-->高级系统设置-->环境变量-->在系统变量中新建“变量名”:WORKON_HOME,变量值:“你自定义的路径”。
列出所有虚拟环境
lsvirtualenv
激活虚拟环境
workon scrapyenv