[转]windows环境下使用virtualenv对python进行多版本隔离

时间:2024-07-08 12:36:14

windows环境下使用virtualenv对python进行多版本隔离

最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为《机器学习实战》那本书的缘故,用的是python2.7.所以目前的情况是要两个版本共存,之前看到身边有人为了解决这个问题,居然装了两款软件,pycharm用来做python2.7的开发,另一款用来做python3.6的开发,估计一定是不知道python的虚拟环境工具virtualenv.本文就来讲述一下这个工具是怎么用的,同时也讲一下,如何在pycharm中使用virtualenv.

1. virtualenv的安装

virtualenv的安装和其它python上的软件安装一样,有两种方法,pip 和setup方法安装。

值得注意的是,我们说virutalenv的安装是为了解决多版本python共存的问题,暗含了,你的至少有一个python版本是已经存在,并且可以正常工作的。

我这里的主环境是python2.7

[转]windows环境下使用virtualenv对python进行多版本隔离

1.1 pip安装virtualenv

pip install  virtualenv

当然了,卸载就是:pip uninstall virtualenv.

如果pip没有安装的话,可以看下面的第二种安装virtualenv的方法,顺带将pip也安装了。

1.2 源码安装virtualenv

在virtualenv的官网下载最新的tar.gz包:https://pypi.python.org/pypi/virtualenv/15.1.0#downloads

[转]windows环境下使用virtualenv对python进行多版本隔离

将tar.gz包解压后,目录切换到virutualenv的目录下,然后在执行一下命令:

c:\virtualenv-15.1.0>python setup.py install

如果pip没有安装,就按照上面方法,下载最新pip的tar.gz包安装即可。

2. 用virtualenv配置python虚拟环境

说到用virtualenv配置python的虚拟环境,其实就是将某个特定项目(或者说目录下)配置成某个python版本。

如下:

[转]windows环境下使用virtualenv对python进行多版本隔离

现在要将c:\PythonProj\sjtu-cs 这个项目(我认为说成目录更准确些)配置成python3.6的版本,因为这个目录下全部是python3.5的东西,用python2.7去运行显然是有问题的。也就是说要用virtualenv去创建python3.6.1的虚拟环境。值得一提的是,虚拟什么版本的python,一定是这个python提前已经装好了。

首先:准备对哪个目录进行虚拟,就先进入到这个目录下(这里是c:\PythonProj\sjtu-cs ),然后运行命令:

virtualenv -p c:\Python36\python.exe HigEnv

[转]windows环境下使用virtualenv对python进行多版本隔离

说明: -p就是python的版本(需要带上路径,这是因为在我们的环境变量里只有python2.7) HigEnv就是虚拟的环境变量。

如果不知道virtual,可以执行下面的命令进行查看:

[转]windows环境下使用virtualenv对python进行多版本隔离

[转]windows环境下使用virtualenv对python进行多版本隔离

上面都解释的很清楚,这里不再赘述。

我们看一下现在我们配置的是否生效了:

[转]windows环境下使用virtualenv对python进行多版本隔离

显然没有生效,因为需要激活。

3. 激活虚拟环境变量

c:\PythonProj\sjtu-cs>cd HigEnv/Scripts

c:\PythonProj\sjtu-cs\HigEnv\Scripts>activate

[转]windows环境下使用virtualenv对python进行多版本隔离

验证一下:

>>> python "hello ,world"

python3和python2最明显的一个区别就是print由打印语句变成函数了。

[转]windows环境下使用virtualenv对python进行多版本隔离

退出激活环境用下面的命令:

(HigEnv) c:\PythonProj\sjtu-cs\HigEnv\Scripts>deactivate

[转]windows环境下使用virtualenv对python进行多版本隔离

值得注意的是,退出终端,重新进来的时候,如果没有激活,我们配置的虚拟环境是不会生效的,linux就不一样了,一直生效,不用每次都激活,目前还在研究中。

[转]windows环境下使用virtualenv对python进行多版本隔离

4. 在pycharm中使用virtualenv

pycharm开发工具是我目前见过最好的python开发工具,非常强大,本身已经集成了virtualenv工具,所以我们如果用它做开发,根本无需手工安装virtualenv,

不过话又说回来,在windows下的virtualenv使用方法和linux大同小异,会了windows,linux一通百通。

4.1 新建项目,*选择python版本

当导入已有项目时,pychar会自动选择相匹配的python版本,当然你也可以选,方法在后面。另外python2和python3分别向下兼容,你不会除了这两个版本还有其余版本吧。

[转]windows环境下使用virtualenv对python进行多版本隔离

[转]windows环境下使用virtualenv对python进行多版本隔离

4.2. 在pycharm中创建virtualenv的虚拟环境:

[转]windows环境下使用virtualenv对python进行多版本隔离

[转]windows环境下使用virtualenv对python进行多版本隔离

[转]windows环境下使用virtualenv对python进行多版本隔离

当然了,你也可以不用创建环境变量,直接选择你需要的就可以了:

打开你需要选择python版本的项目,然后直接选择需要的project interpreter.

[转]windows环境下使用virtualenv对python进行多版本隔离

OK!