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实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
python实现将内容分行输出
Nov 05 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
详解python之多进程和进程池(Processing库)
Jun 09 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
python自动12306抢票软件实现代码
Feb 24 Python
python3+requests接口自动化session操作方法
Oct 13 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
如何验证python安装成功
Jul 06 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
wxPython多个窗口的基本结构
2019/11/19 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
《灰椋鸟》教学反思
2014/04/27 职场文书
电子信息工程自荐信
2014/05/26 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
golang slice元素去重操作
2021/04/30 Golang
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android