モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

Alpineに入れたPython3にh5pyを入れる

友人に alpine + Python3 + TensolFlow + Jupyter のdockerイメージを作ってもらって、それベースにKerasとサンプルデータ入りのdockerイメージを作ったのですが、Kerasからモデルのsaveをしようとするとエラーになってしまいました。


KerasはHDF5形式という科学技術計算で大量データを吐く時に使われるデータ形式でsaveするのですが、PythonでHDF5を扱うためにはh5pyというモジュールを入れる必要があり、さらにh5pyはlibhdf5というライブラリを必要としています。

ありがたいことにlibhdf5はAlpineでもパッケージが用意されているのですが、testingにしかないため、apkのリポジトリにtestingを追加してやる必要がありました。

またh5pyはpip3で入るのですが、コンパイルされるためコンパイル環境が必要になります。少なくともgccと、musl-devというglibc-devにあたるもの、あとcythonとPython3のヘッダファイルも必要になるためpython3-devが必要になります。


なので必要なことをまとめると


/etc/apk/repositories に追加

http://dl-cdn.alpinelinux.org/alpine/edge/testing


コマンド実行

# apk add gcc musl-dev cython python3-dev hdf5-dev
# pip3 install h5py


でh5pyを入れることが出来ました。