### 導航
- [索引](# "總目錄")
- [下一頁](# "快速入門") |
- [上一頁](# "給有經驗程序員的前言") |
- [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
- 許可證
- 術語表