🐍

【poetry】明示的にPythonバージョン指定しないとライブラリのインポートが上手くいかなかった件

2024/11/05に公開

背景

ライブラリをインポートしたらバージョンがあってないとのエラーが出た

poetry add unstructured
The current project's supported Python range (>=3.12,<4.0) is not compatible with some of the required packages Python requirement:
  - unstructured requires Python <3.13,>=3.9.0, so it will not be satisfied for Python >=3.13,<4.0

Because no versions of unstructured match >0.16.4,<0.17.0
 and unstructured (0.16.4) requires Python <3.13,>=3.9.0, unstructured is forbidden.
So, because tutorial depends on unstructured (^0.16.4), version solving failed.

プロジェクトのpythonバージョンは3.12だから今回の条件(>3.13かつ>=3.9.0)を満たしてるはずだがなぜか失敗する

pyproject.toml

python = "^3.12"

解決方法

  1. バージョン制約をつける

pyproject.toml

python = ">=3.12,<3.13"
  1. 依存関係の更新
poetry lock --no-update
  1. インストールしたいパッケージのインストール
poetry add unstructured

完了

Discussion