オライリーの「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