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

原文地址:http://blog.csdn.net/liuchunming033/article/details/46008301

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

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

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

1、安装virtualenv

2、为项目安装虚拟环境

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

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

3.1、启动虚拟环境

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

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

3.2、在虚拟环境安装类库

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

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

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

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def hello_flask():
  5. return 'hello flask!'
  6. if __name__ == '__main__':
  7. app.run()

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

在浏览器中验证该应用:

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

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

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

总结:

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

7、PyCharm的使用virtualenv

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

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

最新文章

  1. Codeforces Round #388 (Div. 2) - C
  2. Snippet: Fetching results after calling stored procedures using MySQL Connector/Python
  3. css3实现动态圆形导航栏
  4. 在页面上以消息束的形式同时抛出多个DialogMessage
  5. LNMP安装成功的界面
  6. openmp在图像处理上面的运用
  7. Codeforces Round #260 (Div. 2)AB
  8. Java 死锁诊断 -- 线程转储
  9. JAVA中的继承和覆盖
  10. MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题
  11. 真正的手机破解wifi密码,aircrack-ng,reaver,仅限mx2(BCM4330芯片)
  12. Tea加密算法和XxTea加密算法
  13. 菜鸟聊JavaScript中this
  14. CSS自适应的占位符效果
  15. WPF 设置输入只能英文
  16. nuxt Window 或 Document未定义解决方案
  17. Apache HTTP 服务器 2.4(又名httpd)安装\配置 \启动
  18. 国内访问Google的方法(Google学术、Google香港、Twitter等)
  19. 152.Maximum Product Subarray---dp---连续子数组的最大乘积---《编程之美》2.13子数组的最大乘积
  20. Java从入门到精通——数据库篇Mongo DB GridFS文件系统

热门文章

  1. Windows进程间通信(上)
  2. Android截图命令screencap
  3. 抓包工具Fidder详解(主要来抓取Android中app的请求)
  4. 获取机器网卡的物理(MAC)地址
  5. Chapter 1 Mr.Sherlock Holmes
  6. 其他应用和技巧-用JS实现的抽奖程序
  7. Varnish &amp;&amp; Varnish Cache
  8. Servlet基础知识
  9. Java語言
  10. hdu_2243_考研路茫茫——单词情结(AC自动机+矩阵)