はじめに
日本語テキスト埋め込みベンチマークJMTEBのクイックスタートで発生したエラーとその解決方法のメモです。
対象
- python3.13をインストールしているシステム
エラーと解決方法
クイックスタートに沿ってpoetry installを実行すると、以下のエラーが出ました。
Installing torch (2.3.1): Failed
poetryが使用するpythonのバージョンを確認すると3.13でした。
poetry run python -V
# output: Python 3.13.0
torchはpython3.13に対応していないらしいので、pythonを3.12にして、torchのバージョンを2.2に落とすことで、poetry installが通るようになりました。
git clone git@github.com:sbintuitions/JMTEB
cd JMTEB
pyenv install 3.12 #3.12がシステムにインストールされていない場合のみ行う
poetry env use 3.12 # pythonを3.12
poetry add torch@~2.2
poetry install
補足
環境
- M1 macOS
- python3.13をシステムにインストール済み
エラー
githubのQuickStartのコマンドを実行すると、poetry installでエラーになります。
git clone git@github.com:sbintuitions/JMTEB
cd JMTEB
poetry install
エラー全体は長いので省略しますがtorch==2.3.1のインストールに失敗している記述があります。
Installing torch (2.3.1): Failed
なぜ最初にpython3.13が使われたのか
pyproject.tomlにて、pythonのバージョンは3.10以上4未満であることが指定されており、poetryはこの条件を満たし、かつ、システムにインストールされたなかで最新のpythonを使用するためです。
pyproject.toml
[tool.poetry.dependencies]
python = ">=3.10,<4.0"
torch = "^2.3"
なぜpython3.12にしてもtorch 2.3.1だとうまくいかないのか
よくわかりません。
ただ、torchがインストールできない場合にtorchのバージョンを下げるとうまくいくという事例があったので、試しに2.2にしてみたところうまくいきました。
評価は2.2でもできているので、これでもよさそうです。