### 導航
- [索引](# "總目錄")
- [下一頁](# "升級到最新版本") |
- [上一頁](# "Pocoo 風格指引") |
- [Flask 0.10.1 文檔](#) ?
# Python 3 支持
Flask 與其所有依賴包都支持 Python 3,所以理論上你已經可以在 Python 3 中工作了。盡管如此,在你開始為新項目采用 Python 3 之前,仍有一些事情應該了解。
### 需求
如果你想要在 Python 3 中使用 Flask,你需要安裝 Python 3.3 或更高的版本。*不支持* 3.2 及更古老版本。
此外你需要使用最新且最大版本的 itsdangerous 、 Jinja2 和Werkzeug 。
### API 穩定性
Python 3 中做出的一些關于 Unicode 和 byte 的修改使得編寫底層代碼變得困難。這主要影響 WSGI 中間件和與 WSGI 所提供信息的交互。Werkzeug把所有 WSGI 信息封轉成高層的輔助函數,但其中的一些是特地為 Python 3 支持而新添加的。
很多關于 WSGI 使用的文檔是在 WSGI 升級至 Python 3 編寫的,未顧及這些細節。雖然 Werkzeug 和 Flask 在 Python 2.x 中的 API 不會做出大改動,但我們不能保證 Python 3 中不會發生。
### 少數派
根據 PyPI 下載統計,Python 3 用戶只有不足 Python 2 用戶的 1%。因此,你遭遇的Python 3 特定的問題將很難在網上搜索到。
### 小生態系統
大多數的 Flask 擴展、所有的文檔和絕大多數 PyPI 提供的庫尚未支持 Python 3。即使你在已知所有所需要的都支持 Python 3 的情況下開始項目,你也不知道接下來的 6 個月發生什么。如果你富有冒險精神,你可以開始自行移植那些庫,但意志薄弱者則無計可施。
### 建議
除非你已經熟悉各個版本的差異,否則,我們推薦在生態系統完善前,固守當前版本的 Python。
大多數升級的痛苦在于諸如 Flask 和 Werkzeug 這樣的底層庫,而非實際的高層應用代碼中。例如 Flask 代碼庫中所有的 Flask 實例無需修改一行代碼就可以在 2.x 和 3.x 中良好運行。
? 版權所有 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
- 許可證
- 術語表