虚拟环境虚拟环境是脱离计算机独立开发的虚拟化环境。通俗地说,虚拟环境就是利用虚拟机docker分离出一部分内容。我们称这部分独立的东西为容器。在这个容器中,我们只能安装我们需要开发的包。每个容器相互隔离,互不影响。为什么要构建虚拟环境?在使用Python开发的过程中,如果项目较多,难免不同项目依赖不同版本的库;靠灾。此时,我们可以利用虚拟环境搭建一个独立的运行环境,使单个项目的运行环境不与其他项目相互影响。另外值得一提的是,在虚拟环境下使用pip安装不需要向系统目录写入数据,并且可以绕过一些系统权限设置。如何搭建虚拟环境?我们可以通过virtualenv和virtualenvwrapper搭建虚拟环境。1.virtualenv安装virtualenv可以通过python包管理工具pip安装:pipinstallvirtualenv或者使用anaconda命令安装:condainstallvirtualenv使用virtualenv创建虚拟环境virtualenvpath/virtualenv_name指定具体的python版本创建虚拟环境加上-p参数就可以:virtualenv-ppythonx(.x)path/vituralenv_name比如我们创建一个蜘蛛项目,使用scrapy框架爬取某个网站的信息,我们假设这个项目的路径就是~/code/spider,把虚拟环境直接放到spider工程目录下。virtualenv~/code/spider/py3_virtualenv以便创建虚拟环境py3_virtual。此时可以看到在spider/py3_virtualenv目录下会创建3个目录:bin包含一些可以在这个虚拟环境中使用的命令,以及启动虚拟环境的脚本activate;include包含虚拟环境文件中的头文件,包括python的头文件;lib包含一些开发依赖的库。至此,我们只是创建了一个虚拟环境,并没有真正进入虚拟环境。激活虚拟环境只需要在虚拟环境的bin目录下打开脚本activate:sourcevirtualenv_path/bin/activate对于spider项目,进入刚才创建的虚拟环境:source~/spider/py3_virtualenv/bin/activateastheuseroftheterminalcommand前面加上(虚拟环境名称)后,表示进入虚拟环境。接下来,我们就可以安装我们需要的scrapy库了……要退出虚拟环境,只需要通过以下命令退出当前虚拟环境:deactivate这时候,你就会回到机器的物理环境。如果忘记删除虚拟环境的位置,以后将无法再次打开虚拟环境!删除虚拟环境,直接删除改造创建虚拟环境的py3_virtualenv文件夹....二、virtualenvwrapper有virtualenv为什么要学习使用virtualenvwrapper?上面virtualenv最后提到:如果忘记了虚拟环境的位置,以后将无法再次打开虚拟环境!virtualenv最大的缺点就是每次打开虚拟环境之前,需要在虚拟环境所在目录的bin目录下激活虚拟环境的脚本activate,所以我们需要记住每个虚拟环境所在的目录位于。而virtualenvwrapper通过配置环境变量WORKON_HOME,将所有虚拟环境放在环境变量WORKON_HOME目录下,方便了虚拟环境的管理,省去了每次打开虚拟环境的源码操作,不同虚拟环境之间可以直接连接.切换以使虚拟环境更有用。安装virtualenvwrapper,可以通过python包管理工具pip安装:pipinstallvirtualenvwrapper或者使用anaconda命令安装:condainstallvirtualenvwrapper使用virtualenvwrapper在使用virtualenvwrapper之前,首先需要配置virtualenvwrapper。需要指定一个WORKON_HOME环境变量,并运行初始化工具virtualenvwrapper.sh,virtualenvwrapper.sh脚本在/usr/local/bin/目录下。WORKON_HOME环境变量的路径是存放各种虚拟环境目录。我们通常将WORKON_HOME环境变量的路径设置为~/.virtualenvs,即命令如下:exportWORKON_HOME='~/.virtualenvs'source/usr/local/bin/virtualenvwrapper.sh需要执行这两个每次使用都要操作,所以我们可以把它写在终端的配置文件中。例如,如果使用bash,则需要将以上两条命令添加到~/.bashrc中,然后执行source~/.bashrc命令。这样每次启动终端都会自动执行以上两条命令。如果你的Linux系统只安装了python3.x,virtualenvwrapper.sh中可能存在VIRTUALENVWRAPPER_PYTHON路径错误(点击文字跳转文章)创建虚拟环境mkvirtualenvvirtualenv_name执行以上命令后,会创建一个virtualenv_name虚拟环境,存放在环境变量WORKON_HOME目录下。注意:使用virtualenvwrapper的mkvirtualenv命令创建虚拟环境后,会自动激活,直接进入虚拟环境。指定具体的python版本创建虚拟环境,加上-p参数:mkvirtualenv-ppythonx(.x)virtualenv_name进入虚拟环境virtualenvwrapper可以通过workon进入虚拟环境。workonvirtualenv_name可以直接通过workon命令在虚拟环境间切换!退出虚拟环境virtualenvwrapper和virtualenv一样,直接通过deactivate命令退出虚拟环境。deactivate删除虚拟环境rmvirtualenvvirtualenv_name列出当前所有虚拟环境#方法一:workon#方法二:lsvirtualenv-b特别声明:virtualenvwrapper中的命令支持tab键自动补全!
