就拿scrapy来说吧,scrapy可以完美的运行在python2环境下,而在python3中相对不是那么的给力,这主要是因为twisted的原因。而我们有些程序有需要在python3下面运行,比如基于tornado或asyncio的coroutine。这就是python虚拟环境的用武之地了,就跟虚拟机一样,会创建一个完全独立的环境,我们就可以在这个环境下进行一些操作。以下操作是在windows下进行,linux下几乎差不多。

一.安装
virtualenv是python的一个第三方包,安装方式非常的简单:

pip install virtualenv
#如果pypi的源下载的很慢,我们可以试试国内的镜像,比如下面这个
pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ virtualenv

二.虚拟环境
virtualenv有一个基本的命令:

virtualenv TARGET_DIR

其中TARGET_DIR就是我们期望安装虚拟环境所在的目录,可以是绝对路径,也可以是相对路径。假设我们在D盘直接敲下以下命令:virtualenv env。那么就会在d盘的env目录下创建一个python的虚拟环境,而且会自动创建的python解释器,这个解释器默认情况下就是我们直接在终端敲下python,显示出的显示器的版本。也就是说,打开终端命令行,敲下python,如果显示的是python2.7.12,那么虚拟环境中安装的就是2.7.12。

但这明显不是我们所期望的,一般情况下,我们需要安装两个不同的python版本。比如在命令行终端进入的是python2,进入虚拟环境,进入的是python3。这该怎么办呢?

virtualenv有一个可选的命令,可以选择在虚拟环境中安装的python解释器的版本:

virtualenv --python=python解释器所在的目录 env

那我们要在虚拟环境中安装python3,只需要在执行virtualenv命令的时候,指定python的版本即可。假设我们下载了python3版本,放在D:\python3,注意不需要为这个python版本指定环境变量。

那么执行以下命令即可:

virtualenv --python=d:\python3\python d:\env

这个命令就会在d:\env中创建一个虚拟环境,python解释器的版本为python3版本。

三.启动虚拟环境
在第二步中,我们已经在d:\env\这个目录下安装好了虚拟环境,现在需要启动这个环境,命令也是非常的简单,首先需要进入env这个目录,然后执行下面的命令:

scripts\activate

这就可以启动虚拟环境,在这个环境中,可以进行启动python解释器,直接敲下python即可,也可以进行pip安装,也可以运行某一个python脚本。在这个虚拟环境下所进行有关python相关的操作,与我们在windows环境变量下添加的python版本无任何关系。
这里写图片描述
可以看到进入虚拟环境之后,前面会显示(env)。

接下来我们试试安装python第三方包看看。
这里写图片描述
这里写图片描述
可以看到在虚拟环境中的python Lib/site-packages这个目录下出现了requests,安装成功。

四.退出虚拟环境
只需要一个命令即可:

deactivate

即可退出虚拟环境。

virtualenv的官方文档非常的详细,对于指令也进行的详细的介绍,推荐大家去查阅。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐