はじめに
前回はAndroid上でLinux環境を提供するTermuxのインストールとsshでのリモートアクセスまでを確認した。
今回はAndroid上でLinux環境を提供するTermuxを用いて、PythonとFlaskをインストールし、簡単なWebアプリケーションを作成・実行するプロセスを解説する。Termuxを介して、Androidデバイスを使って、開発環境を構築し、ローカルでWebサーバーを動作させる方法を紹介する。この記事では、Pythonのインストールから、Flaskを使ったWebアプリケーションの開発、実行までをカバーする。
Pythonのインストール
まず、TermuxでPythonをインストールする。以下のコマンドを実行し、Pythonをセットアップする。
$ pkg install -y python
$ python -V
Python 3.11.8
インストール後、Pythonのバージョンを確認して、正しくインストールされたことを確かめる。
Poetryのインストール
次に、Pythonのパッケージ管理ツールであるPoetryをインストールする。Poetryは依存関係の管理とパッケージの配布を簡単にするツールだ。Poetryのインストール前に、python-cryptography
パッケージをインストールし、その後Poetryをセットアップする。
$ pkg install python-cryptography
$ pip install poetry
Flaskのセットアップ
Poetryを使ってFlaskをプロジェクトに追加する。FlaskはPythonで書かれた軽量なWebアプリケーションフレームワークである。
$ poetry init
$ poetry add flask
これで、Flaskがプロジェクトに追加される。
サンプルWebアプリケーションの作成
以下のFlaskアプリケーションをapp.py
という名前で作成する。このコードは、ルートURLにアクセスした際に「Hello, World!」と表示する単純なWebサーバーを定義する。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0', port=8080)
Webアプリケーションの実行
Poetryを用いてapp.py
を実行し、Flask Webサーバーを起動する。
$ poetry run python app.py
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8080
* Running on http://192.168.1.81:8080
実行後、同一のネットワーク内の任意のデバイスからブラウザを用いてhttp://192.168.1.81:8080
にアクセスし、「Hello, World!」のメッセージを表示させる。
また、Termuxを動作させているAndroidデバイス自身でChromeブラウザからhttp://localhost:8080
にアクセスすると、同じく「Hello, World!」が表示される。
参考サイト
この記事作成に参考にさせて頂いたサイト