Pythonで第三者レポジトリを再現する時の個人的ルーチン

2024/09/21に公開

こんにちは、沙代です。
Pythonで他人のレポジトリを再現するときの個人的ルーチンをまとめてみます。
(しばしば自分でもコマンド忘れたりするからです)

環境
MacOS: macOS Montery 12.6.2 (Apple M1 Pro)
iTerm2: 3.5.4
pyenv: 2.4.10

手順

(READMEを読む)

今回は、https://github.com/tae898/erc を試しに使ってみます。
Prerequisitesに必要事項が書いてあります。

(READMEよりスクリーンショット)

git cloneする

目的のレポジトリをクローンします。

git clone https://github.com/tae898/erc
cd erc

Pythonのバージョンを合わせる

今回は必要事項に合うように3.9.1にしておきます。

pyenv install 3.9.1
pyenv local 3.9.1
python --version  # Python 3.9.1

venvを作成・起動する

packagesを混同しないようにvenvを作成します。(名前にこだわりはないので、'venv'で作成することが多いです)

python -m venv venv
source venv/bin/activate

抜ける時は、deactivateです。

pip installする

pip installします。pipはなぜかアップデートを進められることが多いので、先にアップデートしちゃいます。
(submoduleのインストールなどもREADMEには書いてありますが、今回は最小限の構成を示すことを目的にしているので、スキップします)

python -m pip install --upgrade pip
pip install -r requirements.txt

なお、今回は簡便のため、他のrequirementsもインストールしてます。

pip install -r 

(ちょっと動かしてみる)

READMEに従って動かしてみます。
ターミナル1

python app.py --host 0.0.0.0 --port 10006 --device cpu --model-type emoberta-base

ターミナル2

$ python client.py --text "Emotion recognition is so cool\!"
2024-09-21 17:53:42.287 INFO client - run_text: got <Response [200]> from server!...
2024-09-21 17:53:42.287 INFO client - run_text: emoberta results: {'neutral': 0.004980083089321852, 'joy': 0.9639966487884521, 'surprise': 0.018937448039650917, 'anger': 0.0071516092866659164, 'sadness': 0.0020214926917105913, 'disgust': 0.0014959953259676695, 'fear': 0.0014167270855978131}

動きました!

最後に

今回は最小限の内容に留めました。
ものによっては、他のインストールやデータセットの準備などが必要になることがあったり、pip以外のインストーラが必要だったりします。

参考

Discussion