27
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

使っていないiPhoneにPythonistaをいれてTwitter Botみたいなことができるか調べた

Posted at

##経緯
機種変更したあとに古いほうのiPhone4Sを売ろうと思っていたら、なんとなく時間がたってしまった。いまさら売るのもめんどくさいし何かに有効活用したいので、セールのときに買っていたPythonistaをインストールしたらいろいろやれると思った。思ったので調べました。

##Pythonista
iPhoneやiPadでpythonスクリプト(Pythonista1.5ではpython2.7系)を実行できるPythonistaというアプリがあっていろいろできてたのしいです。有料です。いまは700円でした。

日本語で紹介しているサイト
http://hitoriblog.com/?p=20698
http://kainokikaede.hatenablog.com/entry/2014/01/30/214921

##Pythonistaに含まれていないモジュールをいれる
Pythonistaには標準モジュール以外にPythonista用のモジュールが最初から含まれています。そこにないモジュールは自分でいれる必要があります。Twitterのことをいろいろしたかったのでtweepyをいれます。たぶんpython-twitterでもいい。

Pythonista1.4まではiPhoneのOpen in(Pythonistaで開く)を使ってDropboxのアプリからPythonistaにファイルをもってこれたのですが、なんだかんだあって1.5ではできなくなったようです。

ほかにもpipistaとかいろいろ方法はあるようですが、てっとりばやくiFunBoxを使ってiPhoneの中を覗き、Pythonista.appの中のDocumentの中のsite-packagesに直接tweepyフォルダをコピーしました。それだけでは動かなかったのでrequests-oauthlibとoauthlibもいれました。import tweepy できました。

##定期実行
PythonistaはURLスキームでスクリプトや引数を指定して起動できるので、iPhoneのほかのランチャーアプリから定期実行みたいなことができるかなと思ったけど、そういうアプリが見つからないのでそういうことはできないのかな。よくわからなかった。なので、定期実行したいときはPythonistaでずっとループさせたり、schedみたいなやつを使うのがいいかもしれない。その場合、Pythonistaがバックグラウンドで止まらないか気になったので

import time

while True:
  print time.time()
  time.sleep(1)

を実行してロックしてまた開いたらちゃんと動き続けていたので、なんとなく大丈夫そうだなと思いました。Pythonistaでは同時に2つのスクリプトを実行できたりはしないようです。

##おわりに
iPhoneとPythonistaでTwiiter Botみたいなものがつくれるかもしれないなあということを確認しました。連続稼働させたときどうなるかは試していません。いまは無料のPaaSとかもあるので、わざわざこういうことをやるのはぜんぜん実用的ではないですが、自分は調べていてたのしかったのでよかったです。

27
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?