PythonAnywhereでFlaskを試す

更新:2025-02-22
Python

概要

Pythonアプリケーションを開発・実行できるプラットフォームPythonAnywhereで、フレームワーク「Flask」を使ってみる。

今回は、以下の2つのAPIを実装する。

  • 英語を大文字に変換する
  • 漢字をローマ字に変換する

準備

アプリケーションの作成

Beginnerでアカウントを作成して、新規のwebアプリケーションを作成。バージョンはPython 3.10 (Flask 2.1.2)を選択。

home/username/mysite/flask_app.pyが実行ファイルで、編集はweb上でできる。

パッケージのインストール

「Consoles」メニューからBashコンソールを起動できるので、必要なパッケージはここからインストールする。たとえば漢字のローマ字変換にはpykakasiを使う。

Bash
pip install pykakasi
Bash
pip list | grep pykakasi
# pykakasi 2.3.0

実装

「Files」メニューから階層をたどっていけば見つかる。

home/username/mysite/flask_app.py
from flask import Flask, request
from pykakasi import kakasi
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from Flask!!'
@app.route('/upper', methods=['GET'])
def upper_text():
text = request.args.get('text')
if text:
upper_text = text.upper()
return upper_text
return 'Error'
@app.route('/romanize', methods=['GET'])
def romanize():
text = request.args.get('text')
if text:
kks = kakasi()
result = kks.convert(text)
return "".join([item['hepburn'] for item in result])
return 'Error'

「Save」すると、エラーや警告を教えてくれて助かる。問題なくなれば、「Reload」アイコンでアプリを再起動する。

成果

英語を大文字に変換する

https://namakurajin.pythonanywhere.com/upper?text=abcdefg

漢字をローマ字に変換する

https://namakurajin.pythonanywhere.com/romanize?text=%E7%B9%94%E7%94%B0%E4%BF%A1%E9%95%B7

続く...かもね