🚀 はじめに:この記事でできること

Termux は、Android 上に Linuxライクなコマンドライン環境 を用意できる強力なアプリです。
この記事では、Termux に Python を導入し、「スマホだけでできる10の実践例」 を通して、開発・自動化の第一歩を具体的な手順で解説します。

この記事を読むとできること

  • Termux を安全にインストールし、Python を正しく動かせる
  • スマホだけで Linux コマンド・Python スクリプト・pip を使いこなせる
  • Webスクレイピング・APIアクセス・自動バックアップ・通知・簡易Webサーバーなど 10の実用パターン を理解できる

想定している読者

  • スマホだけでプログラミングを始めたい人
  • PCがなくても Python を学びたい人
  • Termux を入れたけれど、「結局何ができるの?」から抜け出したい人
  • エラーや設定でつまずきたくない初心者

補足
すべての例は「実際に動くこと」を前提にしています。環境の違いで動かない可能性がある箇所は、注意点や回避策もあわせて紹介します。


💡 Termux+Pythonの概要と前提

Termux で何ができるかを整理しつつ、この記事で前提とする環境を明確にします。

操作

  • Android に Termux をインストールし、Linuxコマンドと Python を使う
  • パッケージ管理コマンド pkg を使って必要なツールを導入する

目的

  • 「Termux+Python」という組み合わせのイメージを掴み、何ができる環境なのか を理解する
  • 後続の手順で混乱しないよう、前提条件をそろえる

前提

  • Android スマホを使用している
  • インターネット接続がある
  • コマンドラインにほとんど触れたことがない初心者も想定

説明

Termux には次のような特徴があります。

  • Linuxコマンド がそのまま使える
  • パッケージ管理(pkg)で Python や Git が簡単にインストールできる
  • スマホだけで開発環境が完結する

Python を組み合わせることで、次のようなことが可能です。

  • 自動化スクリプトの実行
  • Webスクレイピング
  • APIアクセス
  • ローカルWebサーバーの起動
  • SQLite などを使ったデータ処理
  • CLIツールの作成

結果(この時点でできること)

  • 「Termux+Pythonを入れれば、スマホがそのまま開発マシンになる」という全体像を理解できる。
  • 以降の手順で何を目指しているかがイメージしやすくなる。

注意
Termux は Android の仕様変更やアプリの更新状況に影響を受けます。インストール元や対応バージョンは、必ず公式情報・最新の配布元を確認してください。


📱 Step 1:Termuxのインストールと前提条件の準備

Termux を安全に導入し、Python を使える状態にします。

操作

  1. Termux のインストール

    • Google Play版 Termux は更新が止まっているため、最新版が配布されている公式系リポジトリ からインストールします。

    • 代表的な配布元の例(F-Droid など)から Termux を入れます。

    • https://f-droid.org/packages/com.termux/

  2. パッケージの更新

    Termux を開いたら、まずパッケージを更新します。

    # パッケージ更新
    pkg update && pkg upgrade -y
    
  3. Python と Git のインストール

    pkg install python git -y
    

目的

  • 古い Termux での不具合や、更新停止版によるトラブルを避ける。
  • Python と Git をインストールし、後の実践例で必要となる環境を整える。

結果(この時点でできること)

  • Termux が最新に近い状態でインストールされ、Python と Git が利用可能になる。
  • 以降のステップで紹介するスクリプトやコマンドを、そのまま実行できる状態になる。

補足
pkg は Termux 独自のパッケージ管理コマンドです。Ubuntu などでいう apt のような役割を持ちます。

注意
配布元のURLや対応Androidバージョンは変わる可能性があります。Termux の GitHub リポジトリや配布サイトで、最新の案内を確認してください。


⚙️ Step 2:PythonとTermuxの基本的な使い方

ここでは、Termux 上で Python を起動・実行する基本操作を整理します。

操作

  1. Python の起動

    python
    

    >>> が表示されれば Python の対話モード起動に成功です。

  2. Python スクリプトの実行

    python script.py
    
  3. pip の利用

    pip install requests
    

目的

  • Python の「対話モード」と「スクリプト実行」の違いを理解し、基本操作を身につける。
  • ライブラリインストールに pip を使う流れに慣れる。

結果(この時点でできること)

  • Termux 上で Python を起動し、簡単なコードを試せる。
  • ライブラリをインストールし、あとで使う requests などを導入できる。

補足
Termux の Python は、一般的な Linux 環境の Python とほぼ同じように扱えます。
一部のライブラリはビルドが必要な場合があるため、その際は後述の注意点(ビルド環境の導入など)も参考にしてください。

注意
環境によっては python3 コマンドが必要な場合があります。python --versionpython3 --version を実行し、自分の環境でどちらが有効か確認してください。


🔧 Step 3:Termux+Pythonでできる実用例10選

ここからは、Termux+Python を使った実用的な例を順に紹介します。
操作 → 目的 → 結果 → 注意/補足 の順で整理します。


① Webスクレイピング(requests+BeautifulSoup)

操作

  1. 必要なライブラリをインストールします。

    pip install requests beautifulsoup4
    
  2. スクリプト scrape.py を作成し、次のコードを書きます。

    import requests
    from bs4 import BeautifulSoup
    
    url = "https://example.com"
    html = requests.get(url).text
    soup = BeautifulSoup(html, "html.parser")
    
    print(soup.title.text)
    
  3. スクリプトを実行します。

    python scrape.py
    

目的

  • WebページのHTMLを取得し、特定の情報(タイトルなど)を抜き出す方法を体験する。
  • スクレイピングの基本的な流れ(取得 → 解析 → 抽出)を理解する。

結果(この時点でできること)

  • 指定したURLのページタイトルを取得して表示できる。
  • 他の要素(リンクやテキスト)にも応用するイメージがつかめる。

注意
スクレイピングを行う際は、対象サイトの利用規約や robots.txt を必ず確認し、負荷をかけない・禁止されている操作をしないなど、マナーを守って利用してください。


② APIアクセス(例:GitHub API)

操作

  1. api_sample.py などの名前でスクリプトを作成し、次のコードを書きます。

    import requests
    
    url = "https://api.github.com"
    res = requests.get(url).json()
    print(res["current_user_url"])
    
  2. スクリプトを実行します。

    python api_sample.py
    

目的

  • HTTP API にアクセスして JSON データを取得し、必要な情報を取り出す流れを理解する。
  • Webサービスと連携したスクリプトの基礎を身につける。

結果(この時点でできること)

  • GitHub API のレスポンスの一部を表示できる。
  • 他のAPI(天気APIや自分のサービスなど)でも同様のパターンでアクセスできるようになる。

補足
認証が必要なAPIでは、トークンやAPIキーを環境変数・外部ファイルで管理すると安全です。


③ ローカルWebサーバーを立てる

操作

  1. 任意のディレクトリで、次のコマンドを実行します。

    python -m http.server 8000
    
  2. 同一ネットワーク内のブラウザで
    http://<スマホのIPアドレス>:8000
    にアクセスします。

目的

  • 簡易的なWebサーバーを立ち上げて、ローカルのファイルをブラウザから確認する。
  • HTML/CSS/JS の確認や簡単なデモ環境として活用できるようにする。

結果(この時点でできること)

  • スマホ上のディレクトリをHTTP経由で公開し、ブラウザからアクセスできる。

注意
同一ネットワークからアクセス可能になるため、公共Wi-Fiなど不特定多数が接続する環境では実行しないようにし、必要がなくなったら必ずサーバーを停止してください。


④ 自動バックアップスクリプト

操作

  1. バックアップ用のディレクトリを用意します(例:backup/)。

  2. backup.py を作成し、次のコードを書きます。

    import shutil
    from pathlib import Path
    
    src = Path("data.txt")
    dst_dir = Path("backup")
    dst_dir.mkdir(exist_ok=True)
    dst = dst_dir / "data.txt"
    
    shutil.copy(src, dst)
    print(f"バックアップ完了: {dst}")
    
  3. スクリプトを実行します。

    python backup.py
    

目的

  • ファイルを特定の場所にコピーする簡単なバックアップ処理を自動化する。

結果(この時点でできること)

  • 指定したファイルのバックアップを backup/ ディレクトリに自動作成できる。

注意
実運用では、ファイル名に日時を付ける・エラーハンドリングを行うなど、上書きや失敗時の挙動にも気を配りましょう。


⑤ GitHub への push

操作

  1. リポジトリをクローンします。

    git clone https://github.com/your/repo.git
    cd repo
    
  2. 変更をステージング・コミット・プッシュします。

    git add .
    git commit -m "update"
    git push
    

目的

  • Termux 上から GitHub を操作し、コードのバージョン管理・共有ができるようにする。

結果(この時点でできること)

  • スマホだけで GitHub リポジトリを更新し、簡単な開発フローを回せる。

注意
認証方式(HTTPS/SSH)はGitHub側の仕様変更の影響を受ける可能性があります。最新の接続方法(個人アクセストークンやSSHキーなど)はGitHub公式のドキュメントを確認してください。


⑥ 定期実行や端末機能の利用(Termux:API)

操作

  1. Termux:API をインストールします。

    pkg install termux-api
    
  2. 例として、バッテリー情報を取得します。

    termux-battery-status
    

目的

  • Termux から Android の機能(バッテリー・通知など)にアクセスする基礎を知る。
  • 自動化スクリプトに端末情報を組み込む足がかりを作る。

結果(この時点でできること)

  • コマンドラインからバッテリー情報を取得し、将来的にスクリプトで利用できる。

注意
Termux:API の挙動や利用できる機能は、Androidのバージョンやアプリの更新により変わる可能性があります。最新の対応状況は Termux:API の公式ドキュメントを確認してください。


⑦ ファイル整理スクリプト

操作

  1. list_files.py を作成し、次のコードを書きます。

    import os
    
    for f in os.listdir("."):
        print(f)
    
  2. スクリプトを実行します。

    python list_files.py
    

目的

  • カレントディレクトリ内のファイル一覧を取得する基本的なファイル操作を体験する。

結果(この時点でできること)

  • ディレクトリ内のファイル名を一覧表示できる。
  • 拡張子やサイズでフィルタし、整理ツールへ発展させる土台ができる。

⑧ LINE Notify で通知を送る

操作

  1. LINE Notify のマイページでアクセストークンを取得します(UIや手順は公式サイトの最新情報を参照してください)。

  2. notify.py を作成し、次のコードを書きます。

    import requests
    
    token = "YOUR_TOKEN"
    msg = "Termuxから通知!"
    requests.post(
        "https://notify-api.line.me/api/notify",
        headers={"Authorization": f"Bearer {token}"},
        data={"message": msg},
    )
    
  3. スクリプトを実行します。

    python notify.py
    

目的

  • 外部サービスへの通知を行うことで、「Termux上の処理 → スマホの通知」という流れを実現する。

結果(この時点でできること)

  • Termux 上のPythonスクリプトから LINE にメッセージ通知を送信できる。

注意
トークンは他人に知られないように管理し、公開リポジトリにハードコードしないよう注意してください。LINE Notify の仕様・提供状況は変更される可能性があるため、最新情報は公式サイトを確認してください。


⑨ SQLite でデータ管理

操作

  1. sqlite_sample.py を作成し、次のコードを書きます。

    import sqlite3
    
    con = sqlite3.connect("data.db")
    cur = con.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS items(name TEXT)")
    con.commit()
    con.close()
    
  2. スクリプトを実行します。

    python sqlite_sample.py
    

目的

  • 軽量データベース SQLite を用いて、簡単なテーブル作成と永続化を体験する。

結果(この時点でできること)

  • data.db が作成され、items テーブルを持つSQLiteデータベースが用意できる。
  • 後続で INSERT / SELECT を追加し、簡単なデータ管理ができるようになる。

⑩ CLIツールの作成(引数付きスクリプト)

操作

  1. hello_cli.py を作成し、次のコードを書きます。

    import argparse
    
    parser = argparse.ArgumentParser()
    parser.add_argument("--name")
    args = parser.parse_args()
    
    print(f"Hello {args.name}")
    
  2. スクリプトを実行します。

    python hello_cli.py --name "Termux"
    

目的

  • コマンドライン引数を受け取るCLIツールの基本構造を理解する。

結果(この時点でできること)

  • 引数付きスクリプトを作れるようになり、より柔軟なツール開発の土台ができる。

補足
argparse を応用すれば、オプションやサブコマンドを持つ本格的なCLIツールも作成できます。


⚠️ 補足・注意点(環境・制約まわり)

Termux は Android 上で動作するため、通常のPC向けLinuxと比べていくつか制限があります。

操作

  • 必要に応じて、次のような追加設定・パッケージ導入を行います。

    # 外部ストレージにアクセス
    termux-setup-storage
    
    # Cコンパイラなどビルド環境(ビルドが必要なpipパッケージ用)
    pkg install clang
    

目的

  • よくあるエラー(ストレージアクセス・ビルドエラーなど)を事前に回避できるようにする。

結果(この時点でできること)

  • 外部ストレージへのアクセスや、一部の C 依存ライブラリをビルドする際のトラブルを減らせる。

注意

  • 外部ストレージへのアクセスには termux-setup-storage が必要です。
  • Google Play版 Termux は更新停止しており、最新機能やバグ修正が反映されない場合があります。
  • 一部の pip パッケージは、Android環境向けにビルドが通らないことがあります。
  • Python のバージョンやサポート状況は、Termux とAndroidの組み合わせによって変わるため、最新情報は Termux 公式のリポジトリや Wiki を確認してください。

✅ よくあるつまずきチェックリスト

Termux+Python を使うときに初心者がつまずきやすいポイントをチェックリスト形式でまとめます。

  • Termux インストール後に pkg update && pkg upgrade -y を実行した
  • Google Play版ではなく、更新が継続している配布元から Termux を導入した
  • python / python3 のどちらが有効か確認してからコマンドを統一している
  • pip install 時にビルドエラーが出た場合、pkg install clang などでビルド環境を整えた
  • 外部ストレージにアクセスする前に termux-setup-storage を実行した
  • GitHub への push で、最新の認証方式(トークンやSSHキー)を使用している
  • Python スクリプトの保存場所(ディレクトリ構成)を自分で把握している
  • Webスクレイピングの際、対象サイトの利用規約や robots.txt を確認している
  • 公開ネットワークで不用意に python -m http.server を実行していない
  • 外部サービスのトークン(LINE Notify など)を公開リポジトリに含めていない

📚 参考リンク(公式優先)

注記
各サービスのUI・仕様・対応バージョンは随時更新されます。エラーや画面の違いがある場合は、上記公式サイトの最新ドキュメントを優先して確認してください。


🔧 拡張案:次に取り組むと良いステップ

  • Python で Flask や FastAPI を動かし、スマホ上で簡易Webアプリを作る
  • GitHub Actions と連携して CI/CD を試し、Termux をトリガーやデプロイ作業に活用する
  • Termux から SSH クライアントとしてサーバーに接続し、リモート管理を習得する
  • 軽量な機械学習モデルを使って、簡単な推論やデータ処理をスマホ上で行ってみる

🎯 まとめ

  • Termux は、Android 上で動作する強力なLinux環境であり、Python と組み合わせることで 自動化・開発・学習 の幅が大きく広がります。
  • 本記事では、インストールから基本操作、Webスクレイピング・API・バックアップ・通知・SQLite・CLIツールまで、10の実践例を通して「スマホだけで開発する」具体的なイメージを示しました。
  • つまずきポイントを押さえながら少しずつ試していけば、あなたのスマホは「ポケットの中の開発環境」として、日常的な自動化や学習の強力な相棒になります。

Termux+Pythonの組み合わせを、ぜひ自分の生活や学習スタイルに合わせて育てていってください。