2021年4月15日木曜日

オライリーの「PythonとJavaScriptではじめるデータビジュアライゼーション」のメモ

オライリーの「PythonとJavaScriptではじめるデータビジュアライゼーション( Data Visualization with Python and JavaScript)」という本があって、発売後(2016)すぐに買ったもののなかなかコードを動かせずにいました。翻訳がいまいちでやる気が出ないというのもありましたが、自分の理解度が全体的に低かったのも原因かなと。

無理やり感ありますが、動くようになったのでメモ。この本の最終的な目的であるWEBアプリケーションの動作確認用です。なお、コードは著者のgithubにあります。

(Ubuntu20.04)

MongoDBの準備

MongoDBをインストール]して、起動する。

$ sudo systemctl start mongod

これで起動する。別のターミナルを開く必要あり。下は他のコマンド。

$ sudo systemctl status mongod

$ sudo systemctl stop mongod

$ sudo systemctl restart mongod

起動していないと動かないはずだが、stopしても動いていて不明。TODO

PyMongoをインストール

$ python -m pip install pymongo

env作成

virtual envを作成

使っているモジュールが古いので現行で最も古いPython3.5にした。condaは最近使いにくくなってpipをよく使っていますが、venvにはcondaが便利だと思っています。

$ conda create -n pyjsviz python=3.5

envを削除するときは

$ conda env remove -n pyjsviz

pyjsvizのアクティベイト、ディアクティベート

$ conda activate pyjsviz

$ conda deactivate


作者のレポジトリからcloneする

$ git clone https://github.com/Kyrand/dataviz-with-python-and-js.git

$ cd dataviz-with-python-and-js/

Dependencyをインストールする。バージョンの問題などでインストールできないものがあり、停止してしまう。

リポジトリにあるrequirement.txtをコメントアウトして、個別にインストールしたり、飛ばしたりした。個人的にはここが一番探りつつだったので、けっこう面倒でした。

$ pip install -r requirements.txt

例えば、clickがないということで、追加でインストールしたり。

$ pip install click


作者のリポジトリのREADME説明のとおりに進めていく

$ python3 run.py seed-db

でdbのdataset seedを作成する。seed_dbと書いてあるが、seed-db(ハイフン)でないと動かなかった。

$ cd nobel_viz

でディレクトリ移動、起動する。

$ python -m http.server

http://127.0.0.1:8000/

でブラウザを開くと、下のようなビジュアルが表示されて、完成です。



(eveは起動したが表示されなかった。おそらくvenvのPATHの問題が解決できなかったと思われる。)


上記で準備できたあとの2回目以降のやりかた

(開始)

$ sudo systemctl status mongod

(ターミナル2個めを開く)

$ conda activate pyjsviz

$ cd path/to/nobel_viz/

$ python -m http.server

http://127.0.0.1:8000/ をブラウザで表示。

(終了)

$ sudo systemctl stop mongod

$ conda deactivate 

0 件のコメント:

コメントを投稿