Python 3 支持

Flask 以及 它依赖包都支持 Python 3 因此理论上来说你能够在 Python 3 上开始使用它。 然而在你下一个项目开始使用 Python 3 之前你需要注意一些事情。

要求

如果你要使用 Python 3,你将要必须使用 Python 3.3 或者更高的版本。3.2 以及更早的版本是 支持的。

除此之外你必须使用最新的 itsdangerous, Jinja2 and Werkzeug 版本。

API 稳定性

Python 3 中的一些关于 unicode 以及 字节使用的决定是的难以编写底层代码。这只要影响了 WSGI 中间件以及与 WSGI 提供信息交互。Werkzeug 已经封装了高级帮助的所有信息,但是有些是特别添加为了 支持 Python 3 并且是十分新的。

许多文档编写的细节是写于 WSGI 升级到 Python 3 之前。尽管 Werkzeug 和 Flask 在 Python 2 版本的 API 在 Python 3 上没有多少变化,但是也不能保证在 Python 3 上有效。

用户少

Python 3 中目前拥有的PyPI下载统计占 Python 2 中的用户不到 1%。因此,许多你会遇到的问题, 恐怕也很难在互联网上搜索,如果他们是 Python 3 的特定问题。

小生态系统

许多 Flask 扩展,所有的文档以及大量的 PyPI 提供的库都不支持 Python 3 。即使你开始的项目清楚地知道需要支持 Python 3,但是6个月以后不知道会发生什么。如果你使用的库是自己开发的,这就没有什么好担心的。

建议

除非你已经很熟悉的版本中的差异,我们建议坚持当前版本的Python,直到生态系统变得成熟。

升级的痛苦大部分是在较低级别的函数库,例如 Flask 和 Werkzeug 等,而不是在实际的高层次的应用程序代码。