[Windows Azure] 在 Windows Azure Website 上部署 Python 的網站 -- 寫給沒用過 Python 的開發人員

先自首,我對 Python 真的不熟,但因應有任務要先熟悉在 Windows Azure 上發行 Python 應用程式,所以才有了這篇文章,也得力於 Python Tools for Visual Studio 的協助,讓發行 Python 應用程式變得十分簡單。

先自首,我對 Python 真的不熟,但因應有任務要先熟悉在 Windows Azure 上發行 Python 應用程式,所以才有了這篇文章,也得力於 Python Tools for Visual Studio 的協助,讓發行 Python 應用程式變得十分簡單。

Windows Azure Platform 在微軟大刀闊斧的改變並與開放原始碼陣營合作之下,像大家熟悉的 PHP, Java, Ruby 等開放原始碼平台都能用在 Windows Azure Platform 上,當然本文的主角 Python 也不例外囉。但對於像我這樣不熟悉 Python 開發的人來說,Python 還真是個陌生的領域,不過在微軟的大刀支持下,Python 也被納入了 Visual Studio 的支援之下,也就是說我們能用我們最熟悉的 Visual Studio 來開發或發行 Python 應用程式。

不過在使用 Visual Studio 發行之前,要先準備好環境,當然包括了 Python Engine。Windows Azure Website 目前可支援 Python 2.7 版,因此我們就以 Python 2.7 版為例子示範。

首先,我們可以到 Windows Azure Python Developer Center 中下載 Windows Azure SDK for Python 的安裝懶人包,這個懶人包會安裝 Python 2.7 以及 Python Tools for Visual Studio 2010 兩個工具,以及像 Django 等套件,但若是要用 Visual Studio 2012 的話,則必須要到 Python Tools for Visual Studio 的官方網站下載區,找到 Python Tools for Visual Studio 2012 的版本,而且還必須要是 2.0 Alpha 版本,這個版本有些特性是可支援 Windows Azure Website 的:

image

要用 Visual Studio 發行 Python 網站到 Windows Azure Website,目前一定要用 Python Tools for Visual Studio 2.0 Alpha 版才行,所以一定要使用 PTVS 2.0 Alpha (它也有 Visual Studio 2010 版本)。

然後再下載兩個指令碼:

接著我們打開命令列工具,執行下列指令:

python distribute_setup.py

Python 會建立一個發行用的 Python 散布用模組,這個會在稍後於建置虛擬環境時使用。

接著執行下列指令:

python get-pip.py

image

它會將 pip 工具安裝到 Python 2.7 的安裝路徑內。

接著執行 Virtual Environemnt (virtualenv) 套件的安裝,指令如下:

pip install virtualenv

pip.exe 位於 Python 安裝目錄的 /scripts 目錄內,所以請到那個目錄去執行。

Virtual Environment 安裝完成後,我們就可以啟動 Visual Studio 2012,然後新增一個 Python 專案,本例使用的是 Django Application:

image

然後在 Python 專案上的 “Virtual Environments”上按右鍵,選擇 Create Virtual Environment:

image

然後在 Base Python Interpreter 欄位選擇 Python 2.7,其他可直接依預設值即可,然後按 OK:

image

PTVS 會建立一個 Python 2.7 的虛擬環境,在 Virtual Environment 的節點上會多一個 “env”,在該節點上按右鍵,選擇 Install Python Package。

image

然後於套件名稱中輸入 django,若專案中有更多的相依套件,則要安裝每個必要的套件,否則在發行時會遺漏導致無法執行。

image

安裝完成後,可以在 Virutal Environment 中看到已安裝的套件:

image

接著到 Windows Azure Website 的管理介面內,建立一新的 Website,然後到網站設定的頁面,加入下面的應用程式設定:

image

WSGI_HANDLER=django.core.handlers.wsgi.WSGIHandler()
PYTHONPATH=D:\home\site\wwwroot
DJANGO_SETTINGS_MODULE=[app_name].settings

其中的 [app_name].setting 的正確名稱,可以打開manage.py檔案,即可找到。

image

設定完畢後,請下載網站的發行設定檔,若己安裝了 Visual Studio Tools 2.0 for Windows Azure 的話,可以省下這個工,直接在發行過程中選擇要發行的網站即可。

接著,開始發行這個專案:

image

在發行 Web 的頁面中選擇匯入發行設定檔或是直接選擇 (直接選擇的功能在 Visual Studio Tools for Windows Azure 2.0 才有):

image

然後直接按發行,PTVS會開始發行網站,當發行完成時會自動打開瀏覽器,當看到這個畫面時,表示專案發行成功。

image

 

更多的 Python Resource,可到 Windows Azure Developer Center for Python 網站中找到:

http://www.windowsazure.com/en-us/develop/python/

Reference:

http://www.tylerbutler.com/2012/05/how-to-install-python-pip-and-virtualenv-on-windows-with-powershell/