Pythonの軽量WebフレームワークBottleをAzure Web Siteに上げて見る。

BottleはPythonの軽量Webフレームワークで、DjangoがRails, ASP.NET MVCに相当するのであれば、BottleはSinatra, Nancyに相当します。

Bottleについては、以下のBottleのサイトで後確認ください。

http://bottlepy.org/docs/dev/index.html

さて、Python Tools for Visual Studio 2.1 Beta(PTVS)では、サポートするWebフレームワークがこれまでのDjangoだけでなく、BottleとFlaskが追加されました。

今回はこのPTVSを使って、Bottleの非常に簡単なサンプルアプリケーションを作って、Azure Web Siteにデプロイするのがゴールです。

アプリケーションの作成

先ずはVisual Studio で新規プロジェクトの作成を選んで、Bottleのプロジェクトを作成します。

SnapCrab_新しいプロジェクト_2014-5-1_21-2-30_No-00

次にBottleを使うためのVirtual Envの環境を構築します。

ソリューションエクスプローラのPython Environmentsを右クリックしてAdd Virtual Environment….を選択します。(下図)

SnapCrab_BottleProject - Microsoft Visual Studio_2014-5-1_21-4-19_No-00

設定追加のダイアログが出てくるので、適当な名前(ここではBottelEnv) を入れて追加します。このとき、Pythonのバージョンは2.7を選択します。(下図)

SnapCrab_Add Virtual Environment_2014-5-1_21-4-34_No-00

Azure Web Siteは今(2014/05/01)のところPython 2.7.3 32bitのサポートしかしていないので、ローカルの環境も2.7系の32bitで構築しておいた方がトラブルが少ないと思います。

次にbottleのパッケージを追加します。先ほど追加したBottleEnvを選択して、右クリックし、Install Python Packageを選択します。(下図)

SnapCrab_BottleProject - Microsoft Visual Studio_2014-5-1_21-5-22_No-00_01

選択すると、次のInstall Python Packageというダイアログが出てくるので、bottleと入力しOKをクリックします。(下図)

SnapCrab_Install Python Package_2014-5-1_21-5-35_No-00

これで、Bottleのパッケージが追加されます。

SnapCrab_BottleProject 02

もうこれで、プロジェクトテンプレートで追加された内容が動くはずなのでF5でビルド・実行します。

SnapCrab_BottleProject 03

ここまで基本的に準備完了です。

今回は、この後、プロジェクトテンプレートの内容からは少しだけ改造して、viewsフォルダを追加し、テンプレートを使用するようにしています。

デプロイ

デプロイは至って普通です。

先ずプロジェクトを右クリックして発行を選択します。

SnapCrab_BottleProject 04

デプロイのウイザードダイアログが表示されるので、順に設定していきます。

デプロイ先として、Azure Webサイトを選択し、次へをクリックします。

SnapCrab_Web を発行_2014-5-1_21-22-28_No-00

追加するサイトのサイト名、サブスクリプション、リージョンを選択します。今回はデーターベースサーバーは無しです。そして、作成をクリック。これで、Webサイトが作成されます。

SnapCrab_Windows Azure でサイトを作成_2014-5-1_21-23-9_No-00

SnapCrab_Windows Azure でサイトを作成_2014-5-1_21-23-22_No-00

Webサイトが作成されたら、接続の家訓をして次へ進みます。

SnapCrab_Web を発行_2014-5-1_21-23-31_No-00

発行します。

SnapCrab_Web を発行_2014-5-1_21-23-55_No-00

VSがバックグラウンドでデプロイをします。

SnapCrab_BottleProject - Microsoft Visual Studio_2014-5-1_21-24-0_No-00

以上でデプロイまで終了で、無事デプロイされればIEが立ち上がってデプロイしたアプリケーションが表示されるはずです。

SnapCrab_Hello world - Internet Explorer_2014-5-1_21-57-56_No-00

PTVS 2.1 Betaで対応しているWebフレームワークが広がり、Webサイトの可能性も広がった感じですね。

まぁ勘の良い方なら察しがつくように、このやり方であれば別のフレームワークでもいけそうな感じですよね。

ということで、Pythonistな方たちも是非Azure使ってみてくださいね!

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください