PythonAnywhere にデプロイする

PythonAnywhere とは、FlaskやDjango等のPythonのフレームワークを用いたWEBアプリを簡便に公開できるサービスです。ローカル環境でFlaskのWEBアプリが動作確認できているという前提で手順を説明します。”Hello World!” 等のサンプルのソースコードを準備して始めてください。

アカウントの作成

こちらの公式ページからサインアップします。

Host, run, and code Python in the cloud: PythonAnywhere
Host, run, and code Python in the cloud: PythonAnywhere

いくつかリンクがありますが、どのボタンをクリックしても同じ画面に移動します。

契約プランが表示されますので無料の “Beginner” を選んでください。

ユーザー名、メールアドレス、パスワードを設定すれば完了です。ユーザー名は、WEBアプリをデプロイしたときにURLの一部(サブドメイン名)になりますので、英語でわかり易い名前にしてください。

無料の “Beginner” プランは、公開できるWEBアプリはひとつだけ、3ヶ月ごとにサービスにアクセスしないとWEBアプリの登録が失効する、等の制限があります。有料アカウントであればその様な制限はありませんが、最低のプランでも$5/月であり、その価格であればVPS等ほかの選択肢もあります。PythonAnywhere は実験・学習を目的に、無料プランで割り切った使い方をするのが良いと思います。

プロジェクトの作成

そのまま続けるか、改めてログインして、ダッシュボードの [Web] を選択します。

[Add a new web app] に進み、誘導に従ってプロジェクトの設定を行います。

  • ドメイン名は [ユーザー名].pythonanywhere.com で公開されます。無料プランでは変更することはできません。
  • フレームワークを聞かれる場面では [Flask]、または自分の作ったアプリのフレームワークを指定します。
  • Pythonのバージョンは、ローカル環境でテストしたものに近いバージョンを選択します。
  • サーバー上に置くアプリの場所・名前を聞かれます。デフォルトでは /home/ユーザー名/mysite/flask_app.py となりますが、ローカル環境に合わせてディレクトリ名・ファイル名等を変更しておくと良いでしょう。

以上の設定が完了すると、プロジェクトのコンフィグ画面に移ります。この画面はダッシュボードの [Web] からも入れます。

この段階で既にWEBアプリは動作しており、URLにアクセスすると “Hello from Flask!” と表示されます。

アプリを配置する

すでにデフォルトのWEBアプリが動作していますので、これをデプロイしようとしているアプリのソースコードに置き換えていきます。方法はいくつかあります。

  • ダッシュボードの [Files] メニューからサーバーのファイルシステムが見えるので、ファイルをひとつずつアップロードする。
  • ダッシュボードの [Console] メニューからサーバー(Ubuntu系のLinuxが動作しているようです)のシェルが開きます。例えば GitHub にソースコードのリポジトリを作ってあれば、このコンソール画面からプロジェクトをクローンすることができます。
ファイルを配置したら、プロジェクトのコンフィグ画面の Reload ボタンを押すと変更内容が反映されます。その後、アプリ画面にアクセスしてください。

デプロイしたアプリを永続的に使いたい場合は3ヶ月ごとにコンフィグ画面の黄色いボタンを押すことを忘れないでください。

 

コメント