LoginSignup
0
0

Flask アプリのPythonanywhereへのデプロイ

Last updated at Posted at 2024-02-15

いろいろなWEBの記事や投稿動画をいくら読んでも、成功しなかった、「Flask アプリのPythonanywhereへのデプロイ」がChatGPT4.0の助けで成功したので、簡単に報告します。ブログラミング技術のないぼくでもできたので、このこと自体が報告価値があると思います(なによりとても嬉しかった)。

(1)短いFlaskファイルは手動でPythonanywhereにアップロードすれば、容易。
   初期画面のCreate a new siteでスタート直後、メインファイル名を、デフォルトのflask_app.pyのままにするなら、アップロードしたファイル名をかきかえればよい。あるいは、最初の手順で、例 app.py としてしまってもいい。

(2)大きなファイルは、大変でしたが、ChatGPT4.0にしつこく質問していけば、ぼくでもできました。
  要点は、
  1. /home/(pythonanywhereのユーザー名)/(haikusns:今回アプリのフォルダ)/(app.py:今回アプリの中心のファイル) の構造を保持する。具体的には、ファイル群push後、pythonanywhereのFilesの一部を削除したりして、整える。

  2.Gitからのpushは、$ git clone https://{gitユーザー名}:{gitパスワード}@github.com/(gitユーザー名)/haikusns.git  でOK。

  3./home/(pythonanywhereのユーザー名)/haikusns で、python3.10 -m venv venv と仮想環境をつくり
        source venv/bin/activate
    そこに haikusnsの仮想環境に以下の3つ(flask,markupsafe,tinydb: 今回のhaikusnsには必要だった)のインストール
(venv) 01:12 ~/haikusns (main)$ pip install flask tinydb
(venv) 01:27 ~/haikusns (main)$ pip install markupsafe

  4.WEB画面のWSGI設定ファイルを次のように書き換える
 # This file contains the WSGI configuration required to serve up your
 # web application at http://(pythonanywhereのユーザー).pythonanywhere.com/

import sys

 # add your project directory to the sys.path
project_home = '/home/(pythonanywhereのユーザー名)/haikusns'
if project_home not in sys.path:
sys.path.append(project_home)

 # import flask app but need to call it "application" for WSGI to work
from app import app as application # noqa

  5.自分アップロードしたapp.py ファイルの、Markupのインポート行を修正。

 # Before
from flask import request, Markup

 # After
from flask import request
from markupsafe import Markup

  6.reload

デプロイされたサイトは、https://kojikoji.pythonanywhere.com/

関連記事は、こちら https://qiita.com/tkoji3744/items/08b71054dfba4f93f2c4

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0