「いつでもどこでもPythonを使っていたい」という人が世界中にたくさんおり、本連載56回目でiOS上でPythonを使う方法を紹介したところ、AndroidでもPythonを使いたいという要望があった。そこで、今回はTermuxを利用してAndroidでPythonを活用する方法を紹介しよう。

AndroidでPythonを使うには?

前々回、iOSでPythonを使うには、Pythonistaというアプリを使う方法が最適解であることを紹介した。それでは、Androidではどうかというと、筆者がいろいろ試したところ『Termux』を使う方法が最も心地よかったのでこれを紹介する。

とは言え、TermuxはPythonのためのアプリではない。Termuxとは、Android上でLinuxのターミナルを実行するためのアプリだ。つまり、これを使えば、パソコンのターミナルと同じ雰囲気でPythonを使うことができる。

  • TermuxはAndroidでLinuxのターミナルでPythonも動かせる!

    TermuxはAndroidでLinuxのターミナルでPythonも動かせる!

  • ソフトウェアキーボードを使ってコマンドの入力もいける

    ソフトウェアキーボードを使ってコマンドの入力もいける

Termuxを使うと、普通のLinuxターミナルと同じで、スクリーンエディタのvimやnano、emacsを動かすことができる。そして、Pythonをはじめ、RubyやNode.js、筆者が開発している「なでしこ3」も動かすことができる。

筆者は普段からターミナル上でいろいろなプログラムを作ることも多い。そのためTermuxを知ってからは、飛行機の移動中などに、AndroidスマートフォンにBluetoothキーボードをつないで、かなりいろいろなプログラムを作って楽しんでいる。もはや小旅行ではPCやタブレットは不要で、スマートフォンとBluetoothキーボードを持って行けば、大抵やりたいことは出来るようになってしまった。そして、Termuxの中で、Pythonで作った様々なスクリプトを動かしている。

Termuxをインストールしよう

Termuxは、Google Playのこちらからインストールできる。root化など特別な作業は不要で、Termuxのアプリをインストールするだけで良い。

  • TermuxはGoogle Playからインストールできる

    TermuxはGoogle Playからインストールできる

また、クリップボードへのコピーやバッテリーの状態、GPS情報やSMSの送信など、Android端末の様々な機能を使うこともできる。これらの機能を使いたい場合には、Temux:APIのアプリをこちらからインストールし、Termuxのコマンドで「pkg install termux-api」のコマンドを実行する。Android端末の中で、Termuxとブラウザを行き来して作業するような場合には、クリップボードに任意データがコピーできると便利なのでオススメだ。

Pythonをインストールしよう

Termuxをインストールしたら、Pythonをインストールしましょう。Termuxのアプリを開いて、以下のコマンドを実行します。

pkg install -y python

PythonのREPL(対話実行環境)を実行するには、「python」とタイプする。なお、原稿執筆時点で以下のコマンドを実行したところ、Python 3.8.1がインストールされた。

  • Pythonをインストールしたら対話実行環境も使える

    Pythonをインストールしたら対話実行環境も使える

Pythonの性能を探るべく巨大な計算な計算(123の123乗)をしてみたが、あっという間に計算結果が表示された。REPLを終了するには「quit()」とタイプすれば良い。

プログラムを作って実行してみよう

もちろん、対話実行環境だけでなく、プログラムをファイルに書いて、それをコマンドラインから実行することもできる。Linux系のスクリーンエディタであれば、大抵のものは利用できる。ここでは、nanoを利用してPythonのプログラムを作ってみよう。

Termuxで以下のようにタイプしてnanoをインストールしよう。

pkg install -y nano

そして、nanoでプログラムを作るには、Termuxの画面で「nano (ファイル名)」と入力すれば良い。例えば「hello.py」というファイルを作成してみよう。

nano hello.py

意外にもPythonのコードハイライトにも対応していて良い感じだ。ここでは、以下の画像のように「Hello!」と10回表示するプログラムを作ってみた。

  • nanoでPythonのプログラムを書いたところ

    nanoでPythonのプログラムを書いたところ

そしてプログラムを入力したら、[Ctrl] + [x]キーを押す。すると、保存するか尋ねられるので[y] + [Enter]を押すと保存できる。なお、ソフトウェアキーボードで[Ctrl]キーを押すには、画面下に出ている[CTRL]というボタンをタップしてから[x]キーを押せば良い。

プログラムを実行するには、以下のようにタイプする。

python hello.py

上記のコマンドを実行すると、Pythonのプログラムが実行され結果が表示される。

  • 簡単なPythonのプログラムを実行したところ

    簡単なPythonのプログラムを実行したところ

ソフトウェアキーボードで快適に使う方法

Termuxをちょっと使ってみると、普段利用しているソフトウェアキーボード(Google日本語入力など)では入力しづらく感じることだろう。その場合、Bluetoothキーボードをつないで使うと便利だ。

だが、ソフトウェアキーボードだけで試したいという方もいるだろう。Androidでは任意のソフトウェアキーボードをインストールできるのが良いところだ。そこで、「Hacker's Keyboard」というアプリをインストールし、キーボードをこれに切り替えれば、比較的快適にプログラミングできる。ただし、これを使うと日本語が入力できないので、一長一短ではある。

Androidのストレージにアクセスする

標準の状態では、Termuxでは、Androidのストレージにアクセスできない。そこで、「termux-setup-storage」コマンドを実行する。すると、storageという名前でAndroidのストレージへのシンボリックリンクが作成される。

例えば、AndroidのWebブラウザで特定のファイルをダウンロードした場合「~/storage/downloads」にファイルが保存されるので、ダウンロードしたファイルを利用してプログラムを作りたい場合に重宝する。

また、PCとのファイルのやりとりや同期を行う場合には、SSH/SCPやGitが便利だ。ここでは詳しい使い方は紹介しないが、これらのコマンドを使えば、ファイルのやりとりに困ることはないだろう。

まとめ

以上、今回はAndroidのTermuxで簡単なPythonのプログラムを実行するまでの手順を紹介した。Termuxは自由度が高く、PythonだけでなくLinuxで使えるいろいろなツールやアプリを実行できる。また、筆者は使っていないが、X11やVNCを使えば、Linuxのデスクトップも利用できるようだ。

ちょっとしたPythonスクリプトであれば、何の変更もなしに動かすことができるだろう。ただし、基本的にコマンドラインから使うので、少し敷居が高いかもしれない。とは言え、Linuxターミナルを使う練習もできると思えば、使いこなせるようになっておいて損はないだろう。筆者のようにターミナルで作業することが多い人にとっては、これだけで十分と言えるアプリだ。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。