Python

無償でカスタムドメインも利用可!Pythonのデプロイ環境|PythonAnywhere

PythonAnywhereとは

PythonAnywhereとはpythonに特化したデプロイ環境です。

Herokuなどを利用されたことのある方はイメージしやすいかもしれませんが、Herokuのpython版のようなサービスです。

Herokuとの大きな違いとしてはpythonアプリケーションをホスティングしてくれるだけでなく、PythonAnywhere上でファイルを作成/ソースコードを修正等することができます。

PythonAnywhere上で0からpythonアプリケーションを作成できたり、ローカルからアップロードしたファイルをPythonAnywhere上で修正/再デプロイすることも可能です。

また、無償でカスタムドメインも利用することができますので、pythonのテスト環境としては申し分ないかと思います。

※無償版の場合はサブドメインのみ利用できます。

PythonAnywhereの特徴

メリット

Django / Flaskが使える

PythonAnywhereではDjangoやFlaskなどのpythonのwebフレームワークに対応しており、ローカルからデプロイするだけ動かすことができます。

また、管理画面からも作成することができ、管理画面上で対象のフレームワークを選択して数クリックで各種必要ファイルが用意された環境を作成することができます

そのため、Flaskなどの簡易的なプログラムの開発などはPythonAnywhere上で完結させることもできます。

管理画面上からのデプロイもワンクリックで実施可能ですのでサクッとサンプルプログラムを動かしてみたい際はとても重宝します。

無償版だといくつか制約はあり、webフレームワークは一つのみデプロイ可能でMySQLのデータベースも無償で利用できるので、プリケーションの本番環境として稼働させることも可能です。

無料でSSL対応

PythonAnywhereではデフォルトで用意されているドメインがSSLに対応していることはもちろん、カスタムドメインに対してもワンクリックでSSL証明書を適用することができるようになります。

現在はLet’s encryptやcloudflareなど無償でSSLが利用できるサービスが増えてきたものワンクリックで圧倒的に簡単にSSL証明書を適用できます。

最近のAPIなどはレスポンス時にそもそもhttps通信じゃないと値を返してくれないパターンも増えてきているので開発環境としても十分活躍できるかと思います。

MySQLも利用可能

PythonAnywhereの環境ではMySQLの利用も可能となっており、データベースを利用するアプリケーションに関しても無料でデプロイ可能です。

クラウド上でソース変更が可能

クラウド上で一からプログラムを作成することも可能ですが一度、デプロイしたソースコードに関してもクラウド上で修正/デプロイすることが可能となっています。

デメリット

開発環境等の用途であれば無料アカウントで十分なサービスですが、大きなサービスを扱うには少し向いていないのかなとお思います。

PythonAnywhereは無料版でなく、利用スペックに応じた有料版を用意されているのでお金さえ払えば大きなアプリケーションでもデプロイ/稼働が可能です。

ただ、そういった環境を用意しようとしたした場合はAWS等と比較すると少し割高になっています。

単純に無料でできる範囲で使い倒すのがPythonAnywhereの一番良いつかいかたなのかなぁと感じています。

価格表

0$ / 月 5$ / 月 12$ / 月 99$ / 月
デプロイ可能アプリケーション数 1 2 3 25
独自ドメイン サブドメインのみ利用可能 全て可能 全て可能 全て可能
SSL証明 可能 可能 可能 可能
https通信 可能 可能 可能 可能
ファイルストレージ 512MG 1GB 5GB 50GB

無料プランでも独自ドメインを利用することは可能ですが、サブドメインのみという制限はあります。SSL証明書やhttps通信は無料プランでも利用可能です。

有料プランは無料プランに加え、すべての独自ドメイン(ネイキッドドメインを含む)が利用可能となり、デプロイできるアプリケーション数、ストレージ容量を増やすことができます。

アカウント開設手順

1.公式サイトにアクセス

https://www.pythonanywhere.com/

にアクセスして「Start running Python online in less than a minute! »」をクリック

2.アカウント作成

「Create a Beginner account」をクリック

ユーザ情報を入力して「Register」をクリック

以上で、無料プランのアカウントが作成されます。

利用方法

Flaskのデプロイ方法

TOPページからWebをクリック

Add a new web app をクリック

Nextをクリック

Flaskをクリック

任意のpythonバージョンを選択

Next をクリック

これでデプロイが完了するので記載のURLにアクセスでデプロイが確認できます。

ソースコードからクラウド上でファイルの作成/修正も可能

flask_app.py ファイルをクリック

ソースを修正したら SAVE をクリック

※ソースを変更するだけではデプロイに反映はされません。

Reload をクリックしてデプロイを反映

Djangoのデプロイ方法

TOPページからWebをクリック

Add a new web app をクリック

Nextをクリック

Djangoをクリック

任意のpythonバージョンを選択

Nextをクリック

これでデプロイが完了するので記載のURLにアクセスでデプロイが確認できます。

ソースコードからクラウド上でファイルの作成/修正も可能

flask同様に管理画面上からファイルの修正、追加が可能です。

以上で、簡単にDjangoプロジェクトをデプロイできます。