見出し画像

Pythonanywhereのメリット

なにかと "Web" には興味あるものの、サーバー代やドメイン代、慣れない操作感等でモヤモヤされている方も多いのではないでしょうか?

今回は "常時接続" "広告無し" でサーバーを無料利用できる 「Pythonanywhere」 についてご紹介。

機械学習のプログラムを実行したことあるけど、そこから前に進んでいない方、チョット前進できるかもしれませんよ。

Pythonanywhereの特徴とメリット


クラウド上で Python プログラムを実行できる環境はたくさんあります。

  • Google Colaboratry

  • Kaggle

  • AWS

  • Google Cloud Platform

  • Repl etc

私は基本コラボ使ってるけど、awsはそろそろ乗り換えようかなーっと・・・。

Pythonanywhere は、 VPS や 有料版AWS のように いつ アクセスしてもプログラムからレスポンスをもらうことができます、無料で。しかも煩わずわしい広告はなし、逆に自分が公開する Webサイト に広告を貼ることができるでしょう。

そして Webサイト の公開にかかる時間は、最短 1分。しかも SSL(https://)については "ワンクリック" で OK。 レンタルサーバーや VPS、 AWS などいくつかのプラットフォームを体験したことのある大島ですが、この Pythonanywhere の操作性、興奮しました。

従来 Python を利用した Webアプリのプラットフォーム作成は手間がかかるものでしたが、こちらを利用すれば本当に早く、正確に自分だけの Webサイト を公開することができます。


Pythonanywhereのメリット

無料で始められる

  • 管理画面等に広告表示無し

  • 利用できるフレームワーク Django、 Flask、 Bottle、 web2py etc

  • データベース MySQL も無料利用可(Postgre有料)

  • SSL(https://)はワンクリックで無料

  • サーバー上のファイル操作も分かりやすい

  • 保存可能データサイズは約 12GB

  • コマンド操作無しでサーバー等設定できる

  • タブレットでも操作可能

  • 利用ユーザー数: 約 1,400万

Pythonanywhereのデメリット

  • AWS や VPSサーバーに比べると制約がある

  • REST API などは開発・利用しにくい(できない)

  • .pkl など一部ファイル種は特有の読み込みプログラムが必要

  • pip intsall には --user オプションが必要

  • 無料版はサブドメインのみ


[デプロイ]PythonAnywhereでWebサイトを簡単に公開する


PythonAnyWhere」を使用すると、Djangoなどで作成したWebサイトを簡単に公開することができます。

いわゆるデプロイと言われるやつですね。

デプロイというと、herokuとかが有名ですが、Pythonを使用しているなら「PythonAnyWhere」でも問題ないです。

就職や転職の際にポートフォリオを企業に見せると思うので、その際にも活用できます。

自分の自慢のサイトを世界に公開していきましょう!


PythonAnyWhereに登録

まずは「PythonAnyWhere」にユーザー登録をしていきましょう。

https://www.pythonanywhere.com/

こちらにアクセスしてユーザー登録してください。

GitHubにリポジトリ作成

次に「GitHub」にリポジトリを作成していきます。

GitHub」とは、簡単にいうとファイルの管理と変更履歴を保存して置ける場所です。

GitHub」で常にファイルを管理している方はこのステップは飛ばしてください。


そもそも「GitHub」のアカウントがない方は以下からアカウントを作成してください。

https://github.com/

アカウントが作成できたらログインできたら、右上の自分のアイコンから「Your profile」を選択して、自分のページにいきましょう。


リポジトリにがファイルなどを入れる

コピーできたらそのまま「terminal」を開いてください。

# git clone 先ほどコピーしたもの
# 僕の場合
git clone git@github.com:cardene777/pythonanywere.git

terminal」を開いたら「Desktop」に移動して、次のコマンドを入力してください。

これは先ほど作成したリポジトリを自分の手元に持ってくるコマンドです。

もしエラーが出てしまった場合はこの記事を参考にしてください!

詳細はrefをみてね!


PythonAnywhere を使用した Flask のデプロイを自動化する

本チュートリアルの内容:

  1. PythonAnywhere をセットアップする

  2. CircleCI で Flask プロジェクトをセットアップする

  3. CircleCI で PythonAnywhere への Flask のデプロイを自動化する

CI/CD を知った開発チームにとっては、デプロイも時間のかかるめんどうなプロセスに見えてくるものです。 CI/CD の第一歩が継続的なテストとすれば、デプロイを自動化する方法は CI/CD のレベル 2 と言えます。

継続的デプロイメントによってリリースまでの時間を短縮することで、アプリケーションの品質向上に多くの時間を掛けられるようになります。 このチュートリアルでは、自動化された継続的デプロイメントによって、Flask アプリケーションを PythonAnywhere にデプロイする方法をご紹介します。 このチュートリアルを完了することで、CI/CD の実践者として “1 つ上” のレベルに到達できることでしょう。

前提条件

本チュートリアルを始めるには、次の準備が必要です。

本チュートリアルはさまざまな CI/CD プラットフォームに適用できますが、例として CircleCI を使用しています。 CircleCI アカウントをお持ちでない場合は、こちらから無料アカウントを作成してください

このチュートリアルでは、サンプルアプリケーションとして Flask API を使用します。 この Flask アプリケーションでは、ブックの作成と取得に使用する Swagger API を公開します。 次の GitHub リポジトリをクローンして、アプリケーションのソースコードを取得してください。 git clone git@github.com:mwaz/automating-flask-deployments-with-pythonanywhere.git

クローンしたリポジトリは、後で説明する PythonAnywhere の設定時にのみ使用します。

詳細は下記urlへ!

またこんな記事があるぞよ。

pythonanywhereに作ったアプリをデプロイしてみた


デプロイマンへの道のり

アカウントの作成

公式サイトにアクセスする。アクセスしたら、Start running~をクリックする。

Beginnerプランを選んで、Create a Beginner account をクリック。
※他のプランは有償なので注意


ファイルのアップロード

ファイルのアップロード方法には①Git経由、②アップロード経由 の2種類存在する。自分の場合は②を選択することにした(楽だから)
アップロードするファイルの構成は下記の通り。

詳細は下記urlへ!









ref


この記事が気に入ったらサポートをしてみませんか?