homcloud導入方法について(64bit Windows10 環境 2019/11/5)

自分の研究室の先輩がhomcloud使おうとしていましたが、
公式ページのhomcloud導入方法ができず苦労してたのでメモ。
これでラーメンおごってもらえましたやったー

Windows10 64bit環境について公式ページには2つの導入方法が紹介されています。

A.windows上で動かす(コマンドプロンプトなどを用いる)
B. Windows上に仮想linux環境を構築し、Linux用のhomcloudとして導入する(←推奨)

どちらを使うかは自由ならば、お手軽に使えそうなAの方法をとりたいですが・・・
Aの方法では現在インストールガイド通りに行ってもうまく導入することができませんでした。
上手く設定すれば使えるのかもしれませんが、自分にはよくわかりませんでした。

Bの方法ならインストールできたので方法を紹介します。ただし公式インストールガイドには罠があります。

今回の大まかな流れです
1.WSLをWindowsの設定からONにし、また開発者モードにもする。

2.windwosストアでubuntuインストール

3.ubuntuを開き、最低限の初期設定を行う(ユーザー名、パスワード、”apt update”、 “apt upgrade”)

4.インストールガイド通りに導入(python3-pulp と python3-sklearnはなぜか書いてないですが入れましょう)。

5.サンプルプログラムを動かす(run.shは多分動かないのでjupyter notebookを使いましょう。)

では詳しく。

1.と2.と3. つまりwslとubuntuの導入
については
このサイトや、このサイト
通りに設定すれば問題ないでしょう。
日本語化の設定については好みの問題だと思います。必要なら設定してください。

ただし、homcloudを使うにあたって、pythonのバージョンには注意してください!!!
例えばhomcloud2.4.0はpython3.7以降では使えず、
homcloud2.6.0はpython3.8以降では使えません。
つまりpythonのバージョンが新しすぎればhomcloudが動かないことがあります。
また、homcloudだけでなく、ほかのライブラリを入れる時もpythonのバージョンのせいで導入できないこともあります。
最新のpythonを使えばいいというものではありません。
むしろ最初は1,2個前のマイナーアップデートのバージョンを使うべきです。

自分はhomcloud2.6.0をpython3.6で入れました。というかデフォルトが3.6でした。皆さんは注意しましょう。

 
4.のhomcloudの導入
ですが、インストールガイド通りに進めましょう。

a)ubuntuのパッケージ追加
公式インストールガイドでは以下のようになっています
sudo apt-get install libcgal-dev libpython3-dev python3-matplotlib python3-numpy python3-scipy python3-pip python3-pyqt5 python3-msgpack openmpi-bin libopenmpi-dev cmake paraview jupyter

ただ、よくみると必要なパッケージ一覧にはpulpとsklearnもあるので、これらも加えるために以下のコマンドも入力する必要があります。(上のコマンドに追加してもいいと思います。)
python3 -m pip install pulp sklearn

b)diphaの追加
diphaをダウンロードして、出来るだけCドライブ直下に近い場所に、解凍したフォルダを置きます。
ubuntu上では、
/mnt/c/
がCドライブとなりますので、diphaのフォルダをhomeフォルダにコピーしてしまいましょう。
(例えばCドライブ直下にdipha-masterフォルダを置いたなら、
cp -r /mnt/c/dipha-master ~/dipha
当たり前ですがフォルダの場所や名前はそんなに重要じゃありません。 )

注意ですが、windows側からubuntuのファイルにアクセスするのはやめましょう!!!!
このサイトにも書かれていますが、ファイルが壊れてしまったり、パーミッションが変更されたりして面倒です。

コピーしたフォルダの中で 
cmake .
make
と順に打ちます。その後、このフォルダを環境変数に設定します。
vi ~/.bashrc
と打ち、viを起動します。bashrcつまり設定ファイルが開くので、
一番最後に
export PATH=$PATH:追加したいパス
と打ちこめばOKです。viの使い方や環境変数のパスを通すことの意味が分からないなら悪いことは言わないので調べたほうがいいです。。。急がば回りましょう。

c)pythonのパッケージの追加
上でも書きましたが、pythonのバージョンが新しすぎるとインストールできないことがあります。
例えば執筆時点でpython3.8にはいくつかのライブラリは追加できませんでした。
1、2個前のマイナーアップデートのバージョンのpythonを使うべきでしょう。
自分はpython3.6を使いました。
python3.6 -m pip install –user forwardable imageio Cython
python3.6 -m pip install –user ripser

(複数のマイナーバージョンのpython3があるならば上記のように指定しましょう。デフォルトのpythonのバージョンを変えたいならばここが参考になります。)

d)homcloudの導入
diphaの時と同様に、ファイルをホームディレクトリなどに持ってきます。その後
python3.6 -m pip install –user –no-deps homcloud-2.6.0.tar.gz
のようにpipを用いてインストールします。

導入は以上です。すべて終わったら、
python3.6 -m pip list
としてインストールしたパッケージを確認しましょう。インストールし忘れたパッケージがあれば入れましょう。

5.サンプルプログラムを動かす
公式ページ通りに行いましょう。
ただし、run.shは動かないと思います。
jupyter notebook を用いたチュートリアルがあるのでそれで行いましょう。

gui環境が必要ならば、このサイトを参考にすればよいでしょう。
というかparaview使うためには多分必要です。

以上となります。pythonって初心者向けに見えて結構導入難しいですよね・・・。
pythonのバージョンに下位互換性がないのがややこしくしているすべての原因だと思いますが、仕方ないんですかねぇ。

自分はhomcloud使う予定はさらさらさらさらないですが(そもそもバリバリの化学の実験ばかりしてる研究室なのにまさかプログラミングのことを聞かれるとは思いもしなかったです笑)、せっかくpythonをほぼ初めて触って環境も構築してみたので、pythonで何か作ってみてもいいかもしれないと思いました。時間があればですが….はぁ…

コメント

タイトルとURLをコピーしました