見出し画像

【MAC】Bar Chart Raceをで動かしてみた

この記事ではMACでBar Chart Raceを動かす方法について説明していきます。

この記事を読めば「Bar Chart RaceをMAC上で動かす方法」が分かります。



1.事前準備

ここでは「Bar Chart RaceをMAC上で動かす」に必要な環境を紹介していきます。

■「Bar Chart Raceの指定ファイル出力」のために必要な環境は次の5点です。

Homebrew:パッケージ管理システム。masOSまたはLinux用のPythonなどのパッケージを利用したいパソコンにインストールするためのツール。Bar Chart Raceを動かすベースとなるPythonをインストールするために必要


Python:Bar Chart Raceを動かす要となるパッケージ。Bar Chart Raceを動かすベースとなる。


ffmpeg:Bar Chart Raceが利用するツール。Bar Chart Raceがアニメーションを作成したアニメーションを出力するために必要。Bar Chart Raceではアニメーションを mp4/m4v/mov/etc... ファイルとして保存することができ、そのためにインストールする。ffmpegはさまざまな形式のビデオとオーディオに変換できる。ffmpegはMITライセンスで、商用プロジェクトでも無料。


PIP:Pyhonのライブラリの一つであるbar_chart_raceをインストールするためのツール。Bar Chart Raceをインストールするために必要


bar chart race:pythonのライブラリの一種。Bar Chart Raceを動かすために必要。

Bar Chart Race では、matplotlib と pandas の両方がインストールされている必要があります。

こちらを参考にしました。

Bar Chart Raceの本家のページ



2.Homebrewのインストール

本家のホームページにアクセスする。


次のような画面が表示される。(2022/8/28時点)画面下部のインストールと表示されたところをコピーする。

スクリーンショット 2022-08-28 15.47.29

MACのデフォルトのアプリである「ターミナル」を開き、コピーした文字列をペーストする。MACのパスワードの入力を求められるので、パスワードを入力する。※画像は一部グレーで伏せられてる。

スクリーンショット 2022-08-28 15.48.11

次のようなログが表示される。このログのまま10分くらい動かないが、内部で処理されているので、そのまま放置する。※画像は一部グレーで伏せられてる。

スクリーンショット 2022-08-28 15.48.24

次のログが出力され、再びMACのパスワードの入力を求められるので入力する。

スクリーンショット 2022-08-28 15.58.56

5分くらい経過すると、ダウンロードは終了し、最後が次のようになっているログが表示される。(これよりも前には様々な長いログが出力されている。)

スクリーンショット 2022-08-28 16.08.42

「brew -v」と打ち込むとbrewのバージョンが表示されることで、正しくbrewをインストールできたか確認できる。

スクリーンショット 2022-08-28 16.38.37

ーーー 備考 ーーー

【homebrewのパスについて】

なお、「Warning: /opt/homebrew/bin is not in your PATH.」という警告がhomebrewをインストール中に表示され、「brew -v」とターミナルに打ち込んでも「-bash: brew: command not found」とログが出ない場合、パスが通っていないため、次のようにターミナルに打ち込み、パスを設定する。

export PATH="$PATH:/opt/homebrew/bin" 

しかしこのままではターミナルを再起動するとbrew コマンドを利用できなくなるため、パスを追加し保存する手続きが必要。

***

【ターミナルのパスについて】

「ターミナル」のパスを変更している場合は次のようにターミナルに打ち込み、パスを変更する必要がある。ユーザ名と書いてあるところは、自身のユーザ名に変更すること。taroやhanakoなど。

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/ユーザ名/.zprofile
   eval "$(/opt/homebrew/bin/brew shellenv)"


3. Pythonのインストール

「ターミナル」で次のように打ち込む。

brew install python3

ログが表示される。

    ※ログは割愛する。

「ターミナル」で次のように打ち込む。

python --version

バージョンが表示されれば、正しくpyhonがインストールされている。

ーーー備考ーーー

ここでは「pythonのデフォルトバージョンの設定について」と「pyenvでpythonのバージョンが切り替わらない場合」について追記していく。

【pythonのデフォルトバージョンの設定について】

ターミナルに「python --version 」と打ち込んだ際、Python2系がログに表示される場合、デフォルトのバージョンをPython3系にアップグレードする必要がある。

アップグレードのためにはpyenvを利用する。pyenvはhomebrew経由でインストールできる。インストールした後pyenvを利用してPython3に切り替えていく流れとなる。ここでは、pyenvのインストール方法及びその確認方法とpyenvでのpythonのバージョン切り替え方法及びその確認方法を紹介する。

□pyenvのインストール方法及びその確認方法

・pyenvのインストール

ターミナルで次のように打ち込む。

 brew install pyenv

・pyenvのインストール確認

ターミナルで次のように打ち込む。

pyenv -v

pyenvのバージョンが表示されれば、pyenvがインストールされている。

スクリーンショット 2022-08-29 11.40.43

............................

□pyenvでのpythonのバージョン切り替え方法とその確認方法

pyenvでのpythonのバージョン切り替えには、6つの手順を追う必要があり、それぞれ「pyenvのpythonのバージョン確認」、「pyenvに管理されているpythonのバージョンを確認」、「pyenvの管理するpythonのインストール」、「pyenvによるpythonの切り替え」、「pyenvによるpythonの切り替え確認」、「pythonコマンドによるpythonの切り替え確認」である。これらを順に紹介していく。

・pyenvのpythonのバージョン確認

ターミナルに次のように打ち込む。

pyenv versions

すると次のようにログが表示される。「* system」と表示されている場合、pythonが設定されていないので、設定していく流れとなる。

スクリーンショット 2022-08-29 11.43.40

仮に設定されている場合、次のようにpyenv内で設定したPythonのバージョンが表示される。

スクリーンショット 2022-08-29 11.47.13


・pyenvに管理されているpythonのバージョンを確認

pyenvに管理されているpythonのバージョンを確認する。ターミナルに次のように打ち込む。

pyenv install --list

次のように長いログが表示される。(ログの初めのみの画像)ログの初めに表示される数値がpythonのバージョンとなるが、切り替えたいログがなければ、インストールする必要がある。その方法を下記に紹介する。

スクリーンショット 2022-08-29 11.52.24


・pyenvの管理するpythonのインストール

ターミナルに次のように打ち込む。数値部分は設定したいpythonの任意のバージョンを設定すること。

pyenv install 3.9.6

次のようなログが表示される。

スクリーンショット 2022-08-29 11.55.04


・pyenvによるpythonの切り替え

ターミナルに次のコマンドを打ち込む。どのディレクトリ(フォルダ)でpythonコマンドを実行しても、ここで指定したpythonが動作するようになる。

pyenv global 3.9.6 

仮に特定のディレクトリでのpythonで動作させる場合、次のコマンドを実行する。

pyenv local 3.9.6     


・pyenvによるpythonの切り替え確認

ターミナルに次のように打ち込む。

python --version  

次のようにpyenvで設定されたpythonのバージョンが表示される。

スクリーンショット 2022-08-29 11.47.13


・pythonコマンドによるpythonの切り替え確認

ターミナルに次のように打ち込む。

 python --version

次のようにpythonのバージョンが3.9.6(または任意で設定したpythonのバージョン)であることが確認できる。

スクリーンショット 2022-08-29 14.00.38

***

【pyenvでpythonのバージョンが切り替わらない場合】

ターミナルで変更したいpythonのバージョンが3.9.6である場合、「 pyenv global 3.9.6」や「pyenv local 3.9.6 」と打ち込んだ後、「python --version 」でpythonのバージョンを確認しても、pythonバージョン3.9.6でpythonが切り替わらない場合がある。

その場合はHomeフォルダで作業しており、そのlocal環境により切り替わらないため、次のコマンドをターミナルに打ち込みフォルダを削除する。

rm ~/.python-version

それでも反映されない場合は、ターミナルに次のコマンドを打ち込むことで解決する。

eval "$(pyenv init -)"


4. ffmpegのインストール

「ターミナル」で次のように打ち込む。

brew install ffmpeg

次のようなログが表示される。終了まで5分程度かかる。

スクリーンショット 2022-08-28 16.49.20

インストールが終わったときの様子。

スクリーンショット 2022-08-28 16.49.40

「ターミナル」ので次のように打ち込み、ffmpegのバージョンを確認する。

brew info ffmpeg

次のようなログが表示されていれば、ffmpegをインストールできたか確認できる。

スクリーンショット 2022-08-28 17.02.02


5.PIPのインストール

「ターミナル」で次のように打ち込み、PIPをインストールするためのファイルを取得する。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

「ターミナル」で「ls」と打ち込むと次のように表示され、「get-pip.py」が取得できていることが確認できる。

スクリーンショット 2022-08-28 17.49.21

「ターミナル」ので次のように打ち込み、PIPをインストールする。

 python3 get-pip.py

「ターミナル」で次のように打ち込む

pip -v

次のようにバージョンが表示されれば、PIPのインストール完了

スクリーンショット 2022-08-29 11.17.15

ーーー備考ーーー

python -m ensurepip --upgrade


6.Bar Chart Raceのインストール

「ターミナル」で次のように打ち込む

pip install bar_chart_race

次のようにログが表示され、最後に「Successfully」と記載があれば、bar chart raceのインストール完了。

スクリーンショット 2022-08-29 11.22.28

最後にBar Chart Raceで必要なライブラリであるmatplotlib と pandasライブラリ有無を確認する。ターミナルに次のように打ち込む。

pip list

するとpipでインストールしたライブラリのバージョンであるmatplotlib と pandasが確認できる。

スクリーンショット 2022-08-29 14.14.31


7. グラフを表示させてみる

適当なテキストエディタでファイルをつくる。ここではテキストエディタはVisual Studioを利用し、次の内容を下記にあるbar chart raceから引用し、コピー&ペーストした。

import bar_chart_race as bcr
df = bcr.load_dataset('covid19_tutorial')
bcr.bar_chart_race(
   df=df,
   filename='covid19_horiz.mp4',
   orientation='h',
   sort='desc',
   n_bars=6,
   fixed_order=False,
   fixed_max=True,
   steps_per_period=10,
   interpolate_period=False,
   label_bars=True,
   bar_size=.95,
   period_label={'x': .99, 'y': .25, 'ha': 'right', 'va': 'center'},
   period_fmt='%B %d, %Y',
   period_summary_func=lambda v, r: {'x': .99, 'y': .18,
                                     's': f'Total deaths: {v.nlargest(6).sum():,.0f}',
                                     'ha': 'right', 'size': 8, 'family': 'Courier New'},
   perpendicular_bar_func='median',
   period_length=500,
   figsize=(5, 3),
   dpi=144,
   cmap='dark12',
   title='COVID-19 Deaths by Country',
   title_size='',
   bar_label_size=7,
   tick_label_size=7,
   shared_fontdict={'family' : 'Helvetica', 'color' : '.1'},
   scale='linear',
   writer=None,
   fig=None,
   bar_kwargs={'alpha': .7},
   filter_column_colors=False)  

その時のVisual Studioでの様子がこちら。

スクリーンショット 2022-08-29 14.23.28

次にファイルを保存する。拡張子は「.py」にすること。ここではtestという名前をつけた。その時のVisual Studioでの名前をつけた時の様子とその時のフォルダの様子は次の通りである。

スクリーンショット 2022-08-29 14.27.09

スクリーンショット 2022-08-29 14.28.24

次にターミナルで作成したtest.pyを実行する。ターミナルに次のように打ち込む。

python test.py

その時の様子がこちら。

スクリーンショット 2022-08-29 14.29.57

「test.py」を格納したフォルダに「covid19_horiz.mp4」が生成される。

スクリーンショット 2022-08-29 14.29.35

MACにデフォルトで搭載されている「Quick Time Player」で確認した時の様子は次の通り。

スクリーンショット 2022-08-29 14.34.23

ーーー備考ーーー

ここではわかりやすいためMACのトップのディレクトリでtest.pyを実行したが、デスクトップなどに「Bar_Chart_Race」などの名前のフォルダを作成し、そこにtest.pyを格納しpythonを実行することをオススメする。「Bar_Chart_Race」などの任意のディレクトリに移動したい場合はTerminalで次のコマンドを打つことで可能である。

cd Desktop

自分が今いる場所にどのようなフォルダがあるかは「ls」と打ち込めば次のように表示されわかる。

スクリーンショット 2022-08-29 14.47.52

「cd Desktop」を行い、デスクトップに移動してきた時のターミナルの様子

スクリーンショット 2022-08-29 14.48.24


いいなと思ったら応援しよう!