更新
18年11月更新:如果在执行pip install virtualenv时,出现以下错误信息:
Could not find a version that satisfies the requirement virtulenv (from versions: )
No matching distribution found for virtulenv
You are using pip version 9.0.1, however version 18.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
则可以通过如下命令解决:
python -m pip install --upgrade pip
pip install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
前言
有时候,我们做项目会同时用到Python2和Python3两个版本,也就是说,会用到Python2和Python3分别对应的库,而我们的环境变量只能有一个Python版本,否则就会产生冲突。所以,虚拟环境的搭建对于这些情况是必要的,我们可以在对应的虚拟环境下开发对应的项目,这样会使我们在做项目的时候方便很多,不用在两个版本的Python中进行切换。
本次分为3个主题:
一、直接建立虚拟环境
二、使用virtualenvwrapper建立虚拟环境
三、上述两种方法分别如何进入虚拟环境
内容
下面我们就来探讨一下如何在Windows下建立python的虚拟环境:
首先,是Windows系统中分别装有Python2和Python3两个版本(安装时注意安装路径),在命令提示符键入python命令,即可查看环境变量中的Python版本:
(博主这里的是python3.5.4版本,一般来说,先安装Python2,默认就是Python2的版本,如先按照Python3再安装Python2就会是博主这种情况了)
然后,我们进行没有任何辅助工具的搭建虚拟环境:
virtualenv
第一步:安装搭建虚拟环境所需要的软件
在命令提示符中键入pip install virtualenv,回车,即可自动执行安装virtualenv,如下图(博主已经安装好了的效果图):
下面是未安装过的效果图:
第二步:进入到我们想创建虚拟环境的目录,如博主想在E盘下的Envs文件夹中创建一个名为helloworld的虚拟环境。首先进入目标目录,键入命令virtualenv helloworld,回车,等待创建成功即可。(默认的Python3作为解释器)
我们查看一下对应目录下是否有新创建的虚拟环境:
此时我们记成功建立了以默认版本Python为解释器的虚拟环境了,但是我们如何建立以另外版本为解释器的虚拟环境呢(博主这里想用Python2建立一个新的虚拟环境)。
其实这可以用命令:virtualenv -p 解释器所在目录 虚拟环境名称
-p就是指定Python版本的意思。所以在博主的目录下面用这样的命令:virtualenv -p E:\python27\python.exe helloworld1,回车,等待执行完毕即可。
同样的,我们也可以再对应的目录下找到我们刚刚创建的以python2为解释器的虚拟环境:
通过这种方法如何进入刚刚创建的虚拟环境?
找到虚拟环境所在目录,进入里面的scripts子目录,运行里面的activat.bat文件即可。操作如图(博主省略掉了.bat):
如何退出刚刚进入的虚拟环境?
执行deactivate.bat文件。操作如图(博主省略掉了.bat):
这样就成功退出了虚拟环境。
virtualenvwrapper
最后,我们使用一个辅助工具来搭建虚拟环境,这个辅助工具叫做virtualenvwrapper。
下面我们来安装virtualenvwrapper,在命令提示符中键入pip install virtualenvwrapper-win,博主已经完成了安装:
完成安装后,运行workon命令(这个是virtualenvwrapper的命令),若提示’workon’不是内部或外部命令,也不是可运行的程序,则应先创建一个文件夹名为Envs(博主在E盘下创建的),然后在环境变量中添加WORKON_HOME变量,目录为刚刚创建的Envs目录。
用virtualenvwrapper怎么建立虚拟环境呢?
用命令mkvirtualenv helloworld2(此时使用的是默认解释器,且操作完成后自动进入虚拟环境,不用向上面一样需要运行activate),操作如图:
如何退出虚拟环境呢?
执行deactivate文件
如何指定Python版本呢?
用命令:mkvirtual --python = Python所在目录 虚拟环境名称
如:mkvirtualenv --python=E:\python27\python.exe helloworld3
操作如图:
好了重新打开命令提示符,运行workon helloworld2就是刚刚建立的以默认解释器Python3的虚拟环境,输入Python,即可查看版本:
今天的总结就到这里了,希望下次还有机会和大家分享这样的内容。如有不当之处,望指出,我将及时更正,感激不尽!
可能存在的问题
更新:如果出现’pip’不是内部或外部命令,也不是可执行程序。则应该把python\Scripts目录添加进环境变量中即可解决
再次更新:评论里有出现workon命令报错虚拟环境不存在情况,我们可以直接尝试workon命令:
这里列出的就是你所有的已经创建的虚拟环境,按照提示的虚拟环境,再输入workon article_spider就可以直接进入虚拟环境,不需要特定的路径要求。