### 导航
- [索引](# "总目录")
- [下一页](# "快速入门") |
- [上一页](# "给有经验程序员的前言") |
- [Flask 0.10.1 文档](#) »
# 安装
Flask 依赖于两个外部库:[Werkzeug](http://werkzeug.pocoo.org/) [http://werkzeug.pocoo.org/] 和 [Jinja2](http://jinja.pocoo.org/2/) [http://jinja.pocoo.org/2/] 。Werkzeug 是一个 WSGI (在 web 应用和多种服务器之间开发和部署的标准 Python 接口) 的工具集Jinja2 负责渲染模板。
那么如何在你的电脑上安装这一切?虽说条条大道通罗马,但是最强大的方式是virtualenv ,所以我们首先来看它。
你首先需要 Python 2.6 或更高的版本,所以请确认有一个最新的 Python 2.x 安装。在 Python 3 中使用 Flask 请参考: [*Python 3 支持*](#) 。
### virtualenv
你在开发中很可能想要使用 virtualenv,如果你拥有生产环境的 shell 权限,同样会乐于在生产环境中使用它。
virtualenv 解决了什么问题?如果你像我一样喜欢 Python,你可能还要在基于 Flask的 web 应用以外的项目中使用它。你拥有的项目越多,同时使用不同版本 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 中的当前版本。然后你只需要执行 gitpullorigin 来升级到最新版本。
没有 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
~~~
© 版权所有 2013, Armin Ronacher.
- 欢迎使用 Flask
- 前言
- 给有经验程序员的前言
- 安装
- 快速入门
- 教程
- 介绍 Flaskr
- 步骤 0: 创建文件夹
- 步骤 1: 数据库模式
- 步骤 2: 应用设置代码
- 步骤 3: 创建数据库
- 步骤 4: 请求数据库连接
- 步骤 5: 视图函数
- 步骤 6: 模板
- 步骤 7: 添加样式
- 福利: 应用测试
- 模板
- 测试 Flask 应用
- 记录应用错误
- 配置处理
- 信号
- 即插视图
- 应用上下文
- 请求上下文
- 用蓝图实现模块化的应用
- Flask 扩展
- 与 Shell 共舞
- Flask 代码模式
- 大型应用
- 应用程序的工厂函数
- 应用调度
- 使用 URL 处理器
- 部署和分发
- 使用 Fabric 部署
- 在 Flask 中使用 SQLite 3
- 在 Flask 中使用 SQLAlchemy
- 上传文件
- 缓存
- 视图装饰器
- 使用 WTForms 进行表单验证
- 模板继承
- 消息闪现
- 用 jQuery 实现 Ajax
- 自定义错误页面
- 延迟加载视图
- 在 Flask 中使用 MongoKit
- 添加 Favicon
- 数据流
- 延迟请求回调
- 添加 HTTP Method Overrides
- 请求内容校验码
- 基于 Celery 的后台任务
- 部署选择
- mod_wsgi (Apache)
- 独立 WSGI 容器
- uWSGI
- FastCGI
- CGI
- 聚沙成塔
- API
- JSON 支持
- Flask 中的设计决策
- HTML/XHTML 常见问题
- 安全注意事项
- Flask 中的 Unicode
- Flask 扩展开发
- Pocoo 风格指引
- Python 3 支持
- 升级到最新版本
- Flask Changelog
- 许可证
- 术语表