##Amazon fire OS (Fire HD 10 / 8 / 7 2019)で jupyter notebook を使えるようにする旅について書いている記事です。
###旅
Amazon fire OS (Fire HD 10 第9世代)で jupyter notebook を使いたいが termux だと pyzmq のインストールに失敗してつまずく。
手は尽くしていないが、どうしてもダメなのであきらめて、
未来コメント [2021-05-04] ダメじゃないことに気がついた。
ubuntu-in-termux
を使って、ubuntu に jupyter をインストールすると可能だった。ubuntu-in-termux
のインストールについては以下の記事。
##Pydroid 3 を使ってインストール。
Amazon app マーケット(?)の機能は完全に切らないと、pydroid 3 アプリ内で google play ストアを呼び出すときにハイジャックされる。pydroid 3 が Amazon にあればいいが今のところない(と思いますが、調べたこともない)。
成功するとこれインストールしろと、
##インストールしましょう。
pyzmq も用意されてる。誰ですか pydroid 3 つくってるのは。github にあるやつか?
pydroid 3 のターミナルから半信半疑で起動。
$ jupyter notebook
silkブラウザも完全停止しておいた方がいいのじゃないかと思います。
なお、前提として
####[WINDOWS][TOOL]Fire Toolbox V9.0 ~ V14.0
を使う必要があります。nexus 7 2013 に ubuntu touch をインストールできる程度の知識(は0でも良いけど、調べる忍耐力)が必要です(それと時間を無駄にしてもリフレッシュできる能力)。
のちに試してみることとしては、termux で pyzmq をコンパイルして termux で jupyter notebook 環境を作りたい。
pyzmq の旅人たち
https://github.com/zeromq/pyzmq/wiki/Building-and-Installing-PyZMQ
https://github.com/termux/termux-packages/issues/6241
##テスト
pandas と matplotlib を pydroid3 用のライブラリQUICK INSTALLからインストールして、テストプログラムを実行してみる。
テストプログラム
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
mhlw1 = pd.read_csv("https://www.mhlw.go.jp/content/pcr_positive_daily.csv", parse_dates=['日付'])
mhlw2 = pd.read_csv("https://www.mhlw.go.jp/content/death_total.csv", parse_dates=['日付'])
mhlw3 = pd.read_csv("https://www.mhlw.go.jp/content/pcr_tested_daily.csv", parse_dates=['日付'])
mhlw4 = pd.read_csv("https://www.mhlw.go.jp/content/severe_daily.csv", parse_dates=['日付'])
#'https://www3.nhk.or.jp/n-data/opendata/coronavirus/nhk_news_covid19_domestic_daily_data.csv'
#nhk2 = pd.read_csv('https://www3.nhk.or.jp/n-data/opendata/coronavirus/nhk_news_covid19_domestic_daily_data.csv', parse_dates=['日付'])
#print(nhk2)
print(mhlw1)
plt.style.use('fivethirtyeight')
locator = mdates.AutoDateLocator()
formatter = mdates.ConciseDateFormatter(locator)
fig, ax = plt.subplots(figsize=(15, 15))
ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter(formatter)
mhlw2['日付'] = pd.to_datetime(mhlw2['日付'])
mhlw1['日付'] = pd.to_datetime(mhlw1['日付'])
#nhk2['日付'] = pd.to_datetime(nhk2['日付'])
start = '2021-03-15'
end = '2021-04-26'
mask2 = (mhlw2['日付'] >= pd.Timestamp(start)) & \
(mhlw2['日付'] <= pd.Timestamp(end))
mask1 = (mhlw1['日付'] >= pd.Timestamp(start)) & \
(mhlw1['日付'] <= pd.Timestamp(end))
#mask1 = (nhk2['日付'] >= pd.Timestamp(start)) & \
# (nhk2['日付'] <= pd.Timestamp(end))
mask4 = (mhlw4['日付'] >= pd.Timestamp(start)) & \
(mhlw4['日付'] <= pd.Timestamp(end))
mask3 = (mhlw3['日付'] >= pd.Timestamp(start)) & \
(mhlw3['日付'] <= pd.Timestamp(end))
import pandas.tseries.offsets as offsets
mask00 = (mhlw2['日付'] >= pd.Timestamp(start)+offsets.Day(-1)) &\
(mhlw2['日付'] < pd.Timestamp(start))
mhlw00 = mhlw2[mask00]
mhlw3= mhlw3[mask3]
mhlw4= mhlw4[mask4]
mhlw = mhlw2[mask2]
mhlw1 = mhlw1[mask1]
#nhk = nhk2[mask1]
#print(mhlw0['死亡者数'])
#print(mhlw['死亡者数'].shift().fillna(float(mhlw0['死亡者数'])))
ax.bar(mhlw4['日付'], mhlw4['重症者数'],label='severe',color='lightgreen',align='edge',width=0.5)
#ax.bar(mhlw1['日付'], mhlw1['PCR 検査陽性者数(単日)'],label='PCR positive',color='lightblue',align='edge',width=0.5)
#ax.bar(nhk['日付'], nhk['国内の感染者数_1日ごとの発表数'],label='NHK PCR positive',width=0.5, color='gray')
#ax.plot(nhk2['日付'], nhk2['国内の死者数_1日ごとの発表数'] , color='blue')
#ax.plot(mhlw['日付'], mhlw['死亡者数'],label='death total',color='pink')
ax.bar(mhlw['日付'], mhlw['死亡者数'] - mhlw['死亡者数'].shift().fillna(float(mhlw00['死亡者数'])),label='death',color='green')
#ax.bar(nhk['日付'], nhk['国内の死者数_1日ごとの発表数'],label='death',width =1, color='magenta')
#ax.plot(mhlw3['日付'], mhlw3['PCR 検査実施件数(単日)'],color='pink')
plt.legend()
plt.show()
#plt.savefig("graph.png")
ん、グラフ見えない。なぜ?
%matplotlib inline
て書いたらグラフでた。
知らなかった。
how to make ipython notebook matplotlib plot inline ?
https://stackoverflow.com/questions/19410042/how-to-make-ipython-not3ebook-matplotlib-plot-inline
##テーマの変更
jupyter notebook のテーマの変更はこちらの記事を参考に。
https://qiita.com/dauuricus/items/38241a35543b0c47f070
pip install --upgrade jupyterthemes
jt -t chesterish
vim キーバインディングはまだできていない。
一月か去年にトライして同じところで失敗して、あきらめてたけど、ようやくできたので、これを参考に Qpython3 でもできるかも。