当前位置: 首页 > 编程日记 > 正文

【转】Flask安装

Flask 依赖两个外部库:Werkzeug 和 Jinja2 。 Werkzeug 是一个 WSGI(在 Web 应用和多种服务器之间的标准 Python 接口) 工具集。Jinja2 负责渲染模板。

那么如何在你的电脑上安装这一切?虽说条条大道通罗马,但是最强大的方式是 virtualenv ,所以我们首先来看它。

你首先需要 Python 2.6 或更高的版本,所以请确认有一个最新的 Python 2.x 安装。 在 Python 3 中使用 Flask 请参考: Python 3 支持 。

virtualenv

你很可能想在开发中用上 virtualenv,如果你有生产环境的 shell 权限,你同样会乐于在生产环境中使用它。

virtualenv 解决了什么问题?如果你像我一样喜欢 Python,不仅会在采用 Flask 的Web 应用中用上 virtualenv,在别的项目中你也会想用上它。你拥有的项目越多,同时使用不同版本的 Python 工作的可能性也就越大,或者起码需要不同版本的 Python 库。悲惨现实是:常常会有库破坏向后兼容性,然而正经应用不采用外部库的可能微乎其微。当在你的项目中,出现两个或更多依赖性冲突时,你会怎么做?

virtualenv 拯救世界!virtualenv 为每个不同项目提供一份 Python 安装。它并没有真正安装多个 Python 副本,但是它确实提供了一种巧妙的方式来让各项目环境保持独立。让我们来看看 virtualenv 是怎么工作的。

如果你在 Mac OS X 或 Linux 下,下面两条命令可能会适用:

$ sudo easy_install virtualenv

或更好的:

$ sudo pip install virtualenv

上述的命令会在你的系统中安装 virtualenv。它甚至可能会存在于包管理器中, 如果你用的是 Ubuntu,可以尝试:

$ sudo apt-get install python-virtualenv

如果你用的是 Windows ,而且没有 easy_install 命令,那么你必须先安装这个命令。查阅 Windows 下的 pip 和 distribute 章节了解如何安装。之后,运行上述的命令,但是要去掉 sudo 前缀。

virtualenv 安装完毕后,你可以立即打开 shell 然后创建你自己的环境。我通常创建一个项目文件夹,并在其下创建一个 venv 文件夹

$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.

现在,无论何时你想在某个项目上工作,只需要激活相应的环境。在 OS X 和 Linux 上,执行如下操作:

$ . venv/bin/activate

下面的操作适用 Windows:

$ venv\scripts\activate

无论通过哪种方式,你现在应该已经激活了 virtualenv(注意你的 shell 提示符显示的是当前活动的环境)。

现在你只需要键入以下的命令来激活 virtualenv 中的 Flask:

$ pip install Flask

几秒钟后,一切都搞定了。

全局安装

这样也是可以的,虽然我不推荐。只需要以 root 权限运行 pip:

$ sudo pip install Flask

(在 Windows 上,在管理员权限的命令提示符中去掉 sudo 运行这条命令 。)

活在边缘

如果你需要最新版本的 Flask,有两种方法:你可以使用 pip 拉取开发版本, 或让它操作一个 git checkout。无论哪种方式,依然推荐使用 virtualenv。

在一个全新的 virtualenv 中 git checkout 并运行在开发模式下:

$ git clone http://github.com/mitsuhiko/flask.git
Initialized empty Git repository in ~/dev/flask/.git/
$ cd flask
$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute............done.
$ . venv/bin/activate
$ python setup.py develop
...
Finished processing dependencies for Flask

这会拉取依赖并激活 git head 作为 virtualenv 中的当前版本。然后你只需要执行 gitpull origin 来升级到最新版本。

没有 git 时,获取开发版本的替代操作:

$ mkdir flask
$ cd flask
$ virtualenv venv --distribute
$ . venv/bin/activate
New python executable in venv/bin/python
Installing distribute............done.
$ pip install Flask==dev
...
Finished processing dependencies for Flask==dev

Windows 下的 pip 和 distribute

在 Windows 下, easy_install 的安装稍微有点麻烦,但还是相当简单。最简单的方法是下载 distribute_setup.py 文件并运行它。运行这个文件最简单的方法就是打开你的下载文件夹并且双击这个文件。

下一步,把你的 Python 安装中的 Scripts 文件夹添加到 PATH 环境变量来, 这样easy_install 命令和其它 Python 脚本就加入到了命令行自动搜索的路径。做法是:右键单击桌面上或是“开始”菜单中的“我的电脑”图标,选择“属性”, 然后单击“高级系统设置”(在 Windows XP 中,单击“高级”选项卡),然后单击 “环境变量”按钮,最后双击“系统变量”栏中的“Path”变量,并加入你的 Python 解释器的 Scripts 文件夹。确保你用分号把它和现有的值分隔开。假设你使用 Python 2.7 且为默认目录,添加下面的值:

;C:\Python27\Scripts

如此,你就搞定了!打开命令提示符并执行 easy_install 测试它是否正常工作。如果你开启了 Windows Vista 或 Windows 7 中的用户账户控制,它应该会提示你使用管理员权限。

现在你有了 easy_install ,你可以用它来安装 pip:

> easy_install pip

转载于:https://www.cnblogs.com/sdlypyzq/p/5002081.html

相关文章:

OpenFeign服务接口调用

OpenFeign是什么? Feign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。 OpenFeign能干什么? Feign和OpenFeign两者区别 OpenFeign使用步骤

完美解决网站PNG图标在IE6下的透明显示

现在IE6虽然有些落后,但不少xp用户还是首选IE6浏览器,一款经典长久也标准快速的浏览器必然会有忠实的用户,png图标IE6下默认是不支持的,可以通过js代码实现,下面由一叶扁舟为大家整理,代码可直接下载一、下…

WPF Layout System

http://blog.tangcs.com/2009/05/23/wpf-layout-system/转载于:https://www.cnblogs.com/WarrenTang/archive/2009/05/23/1487622.html

ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush

ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush 时长:8小时|视频:1920X1080 。教程大小 2.6G 语言:英语中文字幕 百度一下 云桥网络 平台huo取 教程! 这个课程非常适合那些…

Java学习总结:25

内建函数式接口 对于可能出现的函数式接口的方法最多只有4类:有参数有返回值、有参数无返回值、无参数有返回值、判断真假。 为了简化开发者的定义以及实现操作的统一,Java提供了一个新的开发包:java.util.function,并且在这个包…

Uva 3767 Dynamic len(set(a[L:R])) 树套树

Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem3767 Description 给你n个数,m次操作 Q x y 询问[x1,y]有多少个不同的数…

2022-2028年中国锂电池设备行业深度调研及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国锂电池设备行业市场行业相关概述、中国锂电池设备行业市场行业运行环境、分析了中国锂电池…

Cocos Studio的动画系统介绍

Cocos Studio介绍Cocos Studio是一套基于Cocos2D-x的免费游戏开发工具集,它能帮助开发者快速创建游戏资源,将大部分繁琐的游戏开发工作使用编辑器来快速制作,进一步帮助游戏开发者减短开发周期、提高开发效率。Cocos Studio本身不光只是针对[…

机器学习实战源码数据集

链接:https://pan.baidu.com/s/1Ss7x60VXdyQFYW9aiKS0Lg 提取码:9xj6 github下载地址: 转载于:https://www.cnblogs.com/YukiNote/p/11286106.html

blender硬表面建模渲染终极教程

blender硬表面建模渲染终极教程 Gumroad - The ULTIMATE Guide to Hard Ops and Boxcutter Gumroad-硬操作和切箱机的终极指南 教程大小 6G 1920X1080分辨率 语言:英语中文字幕 含案例源文件 云桥网络 平台获取教程 本教程共包含两大部分 第一部分 硬操作和Boxcutter菜单…

Java学习总结:26

线程与进程 进程是程序的一次动态执行过程,它经历了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到最终消亡的过程。 线程是比进程更小的执行单位,线程是在进程的基础上进行的进一步划分,一个进程…

UINavigationController技巧一——修改返回按钮的标题

UINavigationController 一般push到另一界面后,返回按钮标题便是上一页面的title,但是对于push的第一页或者是上一页面没有title的,返回按钮标题便是默认back,如图所示 在本页面修改title没有用,试了很多办法终于找到 …

Idea groovy表生成实体类带注释

Idea groovy表生成实体类带注释 1.点开datasourse,打开idea带的数据库工具,具体添加数据库连接,这里不描述。 这时点击会生成一个poji 这时生成的pojo中是不带中文注释的,需要自己配置,往下: 3.根据图中的步…

fflush函数的深入理解

本人昵称sky,欢迎与各位多多交流学习 这样的c程序想必大家都不陌生,fflush()这个函数有清除输入输出缓存的功能,那很多人就会问了,什么是清除输入输出缓存呢? 其实就是我们在printf输出的时候,是先输出到一…

VS快捷键专题

如要初始化VS开发环境,使用如下命令:开始->运行->键入“devenv.exe /resetuserdata”。 ShiftAltEnter: 切换全屏编辑CtrlB,T / CtrlK,K: 切换书签开关CtrlB,N / CtrlK,N: 移动到下一书签CtrlB,P: 移动到上一书签CtrlB,C: 清除全部标签CtrlI: 渐进式搜索CtrlShiftI: 反向…

Maya阿诺德室外环境灯光照明和渲染技术学习视频教程

Maya阿诺德室外环境灯光照明和渲染技术学习视频教程 Maya and Arnold_ Exterior Lighting and Rendering 教程时长 1小时47分 大小 1.1G 1280X720分辨率 使用软件:Maya 、 Arnold、PS 共八大章 33小节 语言:英语机译中文字幕 作者推荐 翻译还算比较准确…

Java学习总结:27

多线程常用操作方法 线程的命名与取得 由于多线程的状态不确定,所以线程的名字就成为了唯一的分辨标记,则在定义线程名称时一定要在线程启动之前设置名字,尽量不要重名,且尽量不要为已经启动动的线程修改名字。 由于线程状态的不…

Routing

假如有一个请求:localhost/home/index,那么路由需要做的事情如下: (1)确定Controller (2)确定Action (3)确定其他参数 (4)根据识别出来的数据&…

2022-2028年中国锂电材料产业投资分析及前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国锂电材料行业市场行业相关概述、中国锂电材料行业市场行业运行环境、分析了中国锂电材料行…

专为物联网开发的开源操作系统Contiki(转)

专为物联网开发的开源操作系统Contiki(转) (2012-04-19 15:31:09)原文网址:http://blog.sina.com.cn/s/blog_6de000c201010z7n.htmlContiki 是一个小型的,开源的,极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存首先的网络…

【转】ASP.NET Page事件的执行顺序

Page 执行中将按照如下顺序激活事件:Page.PreInitPage.InitPage.InitComplitePage.PreLoadPage.LoadPage.LoadCompletePage.PreRenderPage.PreRenderComplete如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩…

blender动画全面学习教程

大小解压后:31.8G 时长28小时 包含项目文件 1920X1080 MP4 语言:英语中英文字幕(根据原英文字幕机译更准确) Gumroad——活着!Blender中的动画课程 云桥网络 平台获取课程! 信息: Alive!是迄今…

Java学习总结:28

线程的同步和死锁 在程序开发中,所有程序都是通过主方法执行的,而主方法本身就属于一个主线程,所以通过主方法创建的新的线程对象都是子线程。 利用子线程可以进行异步的操作处理,这样可以在不影响主线程运行的前提下进行其他操作…

BZOJ1202: [HNOI2005]狡猾的商人

Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i1,2,3...n-1,n), 。当 Ai大于0时表示这个月盈利Ai 元,当 Ai小于0时表…

导出swagger2生成的文档

百度了好多篇用法,没法用。特此记录一下 一、下载项目 下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文件路径不要有中文。我们称这个项目为A项目。 没错这个项目就是专门根据json解析生成文档的。…

把三千行代码重构为15行

2019独角兽企业重金招聘Python工程师标准>>> 如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论。如果你认为能够戳中您的G点,那么请随手点个赞。 把三千行代码重构为15行 那年我刚毕业&#…

一起学WPF系列(2):第一个WPF应用程序

概述 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。一直以来,我对界面的东西是不怎么感兴趣的&am…

Java学习总结:29

线程间的经典操作案例——生产者与消费者案例 程序基本模型: package Project.Study.Multithreading;class Message{private String title; //保存信息的标题private String content; //保存信息的内容public void setTitle(String title) {this.title title;}…

Blender终极角色创造:从初学者到专业人士

Ultimate character creation in Blender: From beginner to pro 流派:电子学习| MP4 |视频:h264,1280720 |音频:AAC,48.0 KHz 语言:英语中英文字幕(根据原英文字幕机译更准确) |大小解压后:24.8 GB 含建模参考图 |时长…

2022-2028年中国离心机行业市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国离心机行业市场行业相关概述、中国离心机行业市场行业运行环境、分析了中国离心机行业市场…