【注意】要在某个含有空格的目录下面创建virtualenv环境,就要安装 win32api 。


VirtualEnv可以方便的解决不同项目对类库的依赖问题。

现实测试工作中,我们是在jekins服务器上运行很多项目的测试工作(job)。不同的项目依赖的类库和版本有可能不同。通常是这样在jekins服务器上安装python环境的:首先将所有项目都依赖的类库安装在系统环境中;然后为每个项目安装独立的类库环境。这样可以保证每个项目都运行在独立的类库环境中。

由于我们的jekins是运行在windows服务器上的。所以这里讲下载windows上如何安装virtualenv。

1、安装virtualenv

centos下virtualenv安装uwsgi报错_virtualenv


2、为项目安装虚拟环境

首先创建了项目文件夹myproject,然后在该文件夹中安装了虚拟环境env,执行:virtualenv env

centos下virtualenv安装uwsgi报错_flask_02

3、启动虚拟环境中,为项目安装所需类库

3.1、启动虚拟环境

在windows中,启动虚拟环境使用命令:your_env_dir\Scripts\activate,激活虚拟环境后,在cmd窗口的命令前面将出现<env>,表示目前处于虚拟环境中。

【注意】研究发现,PowerShell的不能执行上述命令,换CMD就可以了

3.2、在虚拟环境安装类库

默认情况下,virtualenv已经安装好了pip。在启动虚拟环境后直接使用pip install 命令就可以为该虚拟环境安装类库:

centos下virtualenv安装uwsgi报错_flask_03


4、在虚拟环境中进行开发

在项目目录下,创建一个flask_demo.py的文件,用来演示用flask创建一个应用。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_flask():
	return 'hello flask!'

if __name__ == '__main__':
	app.run()

在虚拟环境中执行该应用:

centos下virtualenv安装uwsgi报错_virtualenv_04

在浏览器中验证该应用:

centos下virtualenv安装uwsgi报错_虚拟环境_05


5、离开虚拟环境,使用deactivate命令

centos下virtualenv安装uwsgi报错_flask_06

发现命令行前面已经没有了<env>


6、在系统环境中,我们并没有安装flask类库,可以对比在系统环境中和虚拟环境中的脚本运行效果:

centos下virtualenv安装uwsgi报错_virtualenv_07

总结:


virtualenv虚拟环境为每个项目隔离了一套运行类库,不同的项目在各自的虚拟环境中使用不同的类库,避免了将所有类库都安装到系统环境中导致的不同项目需要不同(版本)类库的问题,项目与项目之间的类库依存不再成为问题。

7、PyCharm的使用virtualenv

在pycharm中创建工程时,可以创建或者指定virtualenv:


centos下virtualenv安装uwsgi报错_虚拟环境_08


这样你就可以在env中,安装本项目所需要的类库了。安装方法参看本文第三节。