見出し画像

iOSを使ってPythonのプログラムを常時動かすことに挑戦してみた

常時プログラムを稼働させること 

ボクは富の偏在をなくすために、誰でも利益が出せる暗号通貨売買アプリを作りたい。

鼻で笑われそうだけど、文系会社員があっと言わせるものを作ったら面白いじゃないか。

道のりは遠いけど一歩づつ進んでいこう。

前回は、MacとiOSでPythonのプログラムを動かすところまでだった。

今回は、iOSでPythonのプログラムを常時動かす方法だ。

環境の整備

MacのPython環境は、Anacondaを導入したことでほとんど終わったと思っていいと思う。注意しなくちゃいけないのはpipをインストールするときだ。思えばWindowsのときも、Anacondaを入れた後にpipで苦労した記憶がある。

Anaconda下でpipを使うと予期せず環境が破壊され、最悪の場合Anaconda自体の再インストールが必要になる。pipは慎重に使いましょう。

MacやiOSを常時稼働させる方法はとっても簡単。
スリープの設定を変更すればいい。備忘録的にiPhoneをスリープする方法を引用に書いておこう。詳しい操作は引用先のwebにある。

iPhoneを操作しないで一定時間(初期状態では1分間)が経つと、自動ロックがかかり、スリープ状態へと移行します。「自動ロックまでの時間が早い」「画面がすぐに暗くなってしまう」と感じるなら、自動ロックまでの時間を変更するとよいでしょう。
また、自動ロックがかかるまでの時間を短くすればバッテリーを節約できるメリットがあります。
ここでは、iPhoneが自動でロックされるまでの時間を変更する方法のほか、iPhoneとiPadの間で異なる自動ロックまでの時間や低電力モード中の制限について解説します。

iOSでPythonを動かしてみる

心配なのはiOSだ。携帯電話でPythonを常時稼働させたことがないから、予期しない不具合が出てくるだろう。そう思ったら、こんなメッセージが出てきた。

すぐにプログラムがエラーを出てきたから、原因を確認してみる。
理由は、これだ。

UnicodeEncodeError: 'ascii' codec can't encode character '\xa3' in position 0-1: ordinal not in range(128)

とっても簡単に意訳すると、あなたのプログラムは全角文字に対応していませんよと言っている。それなら、プログラム内で全角が使えるように修正してあげればいい。

Web上にあるcsvデータを”datapackage”パッケージを用いて変数にロードし、それをPandasの”read_csv”関数でDataframeに取り込み、最後にPandasの”to_sql”関数でDBにINSERTしようとした際に発生しました(EngineはSQLAlchemyの”create_engine”で作成)。

それで、プログラムを一部修正する。面倒くさいから、全角文字を半角文字にしただけだけど…。

files:
           writer = csv.writer(files)
           writer.writerow(['TIME',str(NOW),'OLD',str(COUNT1[0]),'NOW',str(CHART),'WAVE',str(COUNT2[5])])

今度こそ、Pythonのプログラムを動かすと無事にCSVデータが作られた。予想通り、Pythonプログラムと同じフォルダに作成されていた。


中身を開いてみると、プログラムが検出したデータを基にCSVデータが作成されている。ビットコインのデータを集計して、CSVにすることまでは無事に成功した。
次は、利益を出すためには、どのようなデータを集計しなければならないかを考えよう。こればかりは、投資について勉強をしなくちゃいけない。

目次

次の記事

前の記事

この記事が気に入ったらサポートをしてみませんか?