「いつでもどこでもPythonを使っていたい」という人が世界中にたくさんおり、本連載56回目でiOS上でPythonを使う方法を紹介したところ、AndroidでもPythonを使いたいという要望があった。そこで、今回はTermuxを利用してAndroidでPythonを活用する方法を紹介しよう。
AndroidでPythonを使うには?
前々回、iOSでPythonを使うには、Pythonistaというアプリを使う方法が最適解であることを紹介した。それでは、Androidではどうかというと、筆者がいろいろ試したところ『Termux』を使う方法が最も心地よかったのでこれを紹介する。
とは言え、Termuxは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のアプリをインストールするだけで良い。
また、クリップボードへのコピーやバッテリーの状態、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の性能を探るべく巨大な計算な計算(123の123乗)をしてみたが、あっという間に計算結果が表示された。REPLを終了するには「quit()」とタイプすれば良い。
プログラムを作って実行してみよう
もちろん、対話実行環境だけでなく、プログラムをファイルに書いて、それをコマンドラインから実行することもできる。Linux系のスクリーンエディタであれば、大抵のものは利用できる。ここでは、nanoを利用してPythonのプログラムを作ってみよう。
Termuxで以下のようにタイプしてnanoをインストールしよう。
pkg install -y nano
そして、nanoでプログラムを作るには、Termuxの画面で「nano (ファイル名)」と入力すれば良い。例えば「hello.py」というファイルを作成してみよう。
nano hello.py
意外にもPythonのコードハイライトにも対応していて良い感じだ。ここでは、以下の画像のように「Hello!」と10回表示するプログラムを作ってみた。
そしてプログラムを入力したら、[Ctrl] + [x]キーを押す。すると、保存するか尋ねられるので[y] + [Enter]を押すと保存できる。なお、ソフトウェアキーボードで[Ctrl]キーを押すには、画面下に出ている[CTRL]というボタンをタップしてから[x]キーを押せば良い。
プログラムを実行するには、以下のようにタイプする。
python hello.py
上記のコマンドを実行すると、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貢献者章受賞。技術書も多く執筆している。