Windows上使用virtualenv搭建Python+Flask开发环境


Posted in Python onJune 07, 2016

关于virtualenv:

VirtualEnv用于在一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够:

1.在没有权限的情况下安装新套件
2.不同应用可以使用不同的套件版本
3.套件升级不影响其他应用
虚拟环境是在Python解释器上的一个私有复制,你可以在一个隔绝的环境下安装packages,不会影响到你系统中全局的Python解释器。

虚拟环境非常有用,因为它可以防止系统出现包管理混乱和版本冲突的问题。为每个应用程序创建一个虚拟环境可以确保应用程序只能访问它们自己使用的包,从而全局解释器只作为一个源且依然整洁干净去更多的虚拟环境。另一个好处是,虚拟环境不需要管理员权限。

安装Python 2.7
访问https://www.python.org/,进入下载页面,下载Python 2.7系列的WINDOWS版本。

安装之后需要把Python相关的路径加入到PATH环境变量中(假如安装在D:\Python27):

D:\Python27
D:\Python27\Scripts

安装setuptools(easy_install)

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

安装virtualenv
使用easy_install命令安装virtualenv:

easy_install virtualenv

创建虚拟环境
纯净的虚拟环境:

virtualenv.exe venv

适用于所有软件包都使用PY软件包的场景。

混合虚拟环境:

virtualenv --system-site-packages venv

适用于有部分特殊软件包的场景,因为特定软件包在缺乏编译环境的情况下不能通过pip直接安装。

激活虚拟环境:

venv\Scripts\activate.bat

退出虚拟环境:

venv\Scripts\deactivate.bat

安装软件包
激活虚拟环境之后,使用pip命令安装软件包:

pip install package

package替换为软件包的名称。

软件包分为纯Python软件包和特殊软件包。

纯Python软件包是指完全使用Python编写的软件包,不需要编译环境,只需要执行pip install命令就可以完成安装。

特殊软件包是指大部分使用PY编写、某些特定部分使用C语言编写的、需要进行编译才能使用的软件包,不能通过pip install直接安装,需要编译环境支持。比如Mysql-Python(MySQLDb)、pycrypto等。特殊软件包一般会有WINDOWS的编译版本。

安装Flask

virtualenv.exe venv
venv\Scripts\activate.bat
pip install flask

 

Python 相关文章推荐
python实现简单爬虫功能的示例
Oct 24 Python
Python实现通讯录功能
Feb 22 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
Python实现随机漫步功能
Jul 09 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
浅谈Python的list中的选取范围
Nov 12 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
详细分析Python collections工具库
Jul 16 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
pytorch实现手写数字图片识别
May 20 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 #Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
Jun 07 #Python
Python的Flask框架中配置多个子域名的方法讲解
Jun 07 #Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 #Python
python实现多线程的方式及多条命令并发执行
Jun 07 #Python
python多线程方式执行多个bat代码
Jun 07 #Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 #Python
You might like
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
JQuery 入门实例1
2009/06/25 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
jquery常用操作小结
2014/07/21 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
apply和call方法定义及apply和call方法的区别
2015/11/15 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
jQuery validata插件实现方法
2017/06/25 jQuery
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
Javascript的this详解
2019/03/23 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
Python selenium 三种等待方式解读
2016/09/15 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
一份比较全的PHP面试题
2016/07/29 面试题
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
停发工资证明范本
2015/06/12 职场文书
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL