0
0

Python3.8~3.12をサポートするツールでpandasを利用すると、pandasをビルドするため`poetry install`の初回実行に15分以上かかる

Last updated at Posted at 2024-02-01

環境

  • Python 3.12.1
  • poetry 1.7.1

背景

Python3.8から3.12をサポートするツールを開発しています。ツールはpnadasを利用しています。

TravisCIでPython3.12のテストをする際、poetry installの実行でタイムアウトが発生して、テストが実行できませんでした。

$ poetry install
Updating dependencies
Resolving dependencies... (18.9s)

Package operations: 6 installs, 0 updates, 0 removals

  • Installing six (1.16.0)
  • Installing numpy (1.26.3)
  • Installing python-dateutil (2.8.2)
  • Installing pytz (2023.4)
  • Installing tzdata (2023.4)
  • Installing pandas (2.0.3): Preparing...

poetry installの出力は、• Installing pandas (2.0.3): Preparing...で止まっていました。

この記事では、poetry installが終わらない原因の調査結果を記載します。

環境構築

ローカルで実行

$ docker run -it python:3.12 /bin/bash

Dockerコンテナ内で実行

root@56ddaaaca88a:/# python --version
Python 3.12.1

root@56ddaaaca88a:/# pip install poetry

root@56ddaaaca88a:/# apt update

root@56ddaaaca88a:/# apt install vim

root@56ddaaaca88a:/# poetry create test

root@56ddaaaca88a:/# cd test

root@56ddaaaca88a:/test# vim pyproject.toml

修正後のpyproject.tomlです。Python3.8から3.12をサポートするため、python = "^3.8"と指定しました。

pyproject.toml
[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.8"
pandas = "*"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

何が起きたのか

poetry installを初めて実行する場合

root@56ddaaaca88a:/test# time poetry install -vvv > poetry-install1.log
Creating virtualenv test-swbZ_4R8-py3.12 in /root/.cache/pypoetry/virtualenvs

real	16m49.591s
user	16m12.142s
sys	0m22.319s

poetry installコマンドの実行に16分かかりました。
poetry-install1.logの最後の方に"Complete version solving took 26.276 seconds with 22 overrides"と記載されているので、バージョン解決に16分かかった訳ではないようです。
何に16分かかったのか分かりませんでした。

ちなみにインストールされたpandasのバージョンは2.0.3です。2.1以降はPython3.8に対応していないので、2.0.3がインストールされました。

root@56ddaaaca88a:/test# poetry show pandas
 name         : pandas                                                                  
 version      : 2.0.3                                                                   
 description  : Powerful data structures for data analysis, time series, and statistics 

dependencies
 - numpy >=1.20.3
 - numpy >=1.21.0
 - numpy >=1.23.2
 - python-dateutil >=2.8.2
 - pytz >=2020.1
 - tzdata >=2022.1

poetry-install1.log
Using virtualenv: /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12
Updating dependencies
Resolving dependencies...
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.731 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.279 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.299 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.347 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11", numpy (>=1.23.2) with markers python_version == "3.11" and numpy (>=1.26.0) with markers python_version >= "3.12".
   1: Version solving took 0.403 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11" and numpy (>=1.23.2) with markers python_version >= "3.11".
   1: Version solving took 0.443 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.20.3) with markers python_version < "3.10", numpy (>=1.23.2) with markers python_version >= "3.11" and numpy (>=1.21.0) with markers python_version >= "3.10" and python_version < "3.11".
   1: Version solving took 0.313 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.20.3)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.20.3)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.20.3)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: fact: numpy (1.26.3) requires Python >=3.9
   1: derived: not numpy (==1.26.3)
   1: fact: numpy (1.26.2) requires Python >=3.9
   1: derived: not numpy (==1.26.2)
   1: fact: numpy (1.26.1) requires Python <3.13,>=3.9
   1: derived: not numpy (==1.26.1)
   1: fact: numpy (1.26.0) requires Python <3.13,>=3.9
   1: derived: not numpy (==1.26.0)
   1: fact: numpy (1.25.2) requires Python >=3.9
   1: derived: not numpy (==1.25.2)
   1: fact: numpy (1.25.1) requires Python >=3.9
   1: derived: not numpy (==1.25.1)
   1: fact: numpy (1.25.0) requires Python >=3.9
   1: derived: not numpy (==1.25.0)
   1: selecting numpy (1.24.4)
   1: Version solving took 20.246 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.21.0)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.21.0)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.21.0)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: selecting numpy (1.26.3)
   1: Version solving took 0.350 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.076 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.118 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.162 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11", numpy (>=1.23.2) with markers python_version == "3.11" and numpy (>=1.26.0) with markers python_version >= "3.12".
   1: Version solving took 0.200 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11" and numpy (>=1.23.2) with markers python_version >= "3.11".
   1: Version solving took 0.245 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.20.3) with markers python_version < "3.10", numpy (>=1.23.2) with markers python_version >= "3.11" and numpy (>=1.21.0) with markers python_version >= "3.10" and python_version < "3.11".
   1: Version solving took 0.290 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.23.2)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.23.2)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: selecting numpy (1.26.3)
   1: Version solving took 0.307 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.077 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.120 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.160 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11", numpy (>=1.23.2) with markers python_version == "3.11" and numpy (>=1.26.0) with markers python_version >= "3.12".
   1: Version solving took 0.195 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11" and numpy (>=1.23.2) with markers python_version >= "3.11".
   1: Version solving took 0.271 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.20.3) with markers python_version < "3.10", numpy (>=1.23.2) with markers python_version >= "3.11" and numpy (>=1.21.0) with markers python_version >= "3.10" and python_version < "3.11".
   1: Version solving took 0.305 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.23.2)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.23.2)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: selecting numpy (1.26.3)
   1: Version solving took 0.323 seconds.
   1: Tried 1 solutions.
   0: Complete version solving took 26.276 seconds with 22 overrides
   0: Resolved with overrides: ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.20.3)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.21.0)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}})

Finding the necessary packages for the current system

Package operations: 6 installs, 0 updates, 0 removals

  • Installing six (1.16.0)
  • Installing numpy (1.26.3)
  • Installing python-dateutil (2.8.2)
  • Installing pytz (2023.4)
  • Installing tzdata (2023.4)
  • Installing pandas (2.0.3)

Writing lock file

Installing the current project: test (0.1.0)
  - Building package test in editable mode
  - Adding test.pth to /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12/lib/python3.12/site-packages for /test
  - Adding the test-0.1.0.dist-info directory to /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12/lib/python3.12/site-packages

仮想環境とpoetry.lockを削除して再度poetry installを実行する

root@56ddaaaca88a:/test# poetry env list
test-swbZ_4R8-py3.12 (Activated)

root@56ddaaaca88a:/test# poetry env remove test-swbZ_4R8-py3.12
Deleted virtualenv: /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12

root@56ddaaaca88a:/test# rm poetry.lock 

root@56ddaaaca88a:/test# time poetry install -vvv > poetry-install2.log
Creating virtualenv test-swbZ_4R8-py3.12 in /root/.cache/pypoetry/virtualenvs

real	0m9.715s
user	0m9.179s
sys	0m0.663s

すぐにpoetry installコマンドは終わりました。キャッシュが効いているからでしょうか?

poetry-install2.logには"Complete version solving took 5.596 seconds with 22 overrides"と記載されていました。バージョン解決の時間は前回よりも短くなったようです。

poetry-install2.log
Using virtualenv: /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12
Updating dependencies
Resolving dependencies...
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.482 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.081 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.121 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.163 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11", numpy (>=1.23.2) with markers python_version == "3.11" and numpy (>=1.26.0) with markers python_version >= "3.12".
   1: Version solving took 0.205 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11" and numpy (>=1.23.2) with markers python_version >= "3.11".
   1: Version solving took 0.261 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.20.3) with markers python_version < "3.10", numpy (>=1.23.2) with markers python_version >= "3.11" and numpy (>=1.21.0) with markers python_version >= "3.10" and python_version < "3.11".
   1: Version solving took 0.311 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.20.3)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.20.3)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.20.3)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: fact: numpy (1.26.3) requires Python >=3.9
   1: derived: not numpy (==1.26.3)
   1: fact: numpy (1.26.2) requires Python >=3.9
   1: derived: not numpy (==1.26.2)
   1: fact: numpy (1.26.1) requires Python <3.13,>=3.9
   1: derived: not numpy (==1.26.1)
   1: fact: numpy (1.26.0) requires Python <3.13,>=3.9
   1: derived: not numpy (==1.26.0)
   1: fact: numpy (1.25.2) requires Python >=3.9
   1: derived: not numpy (==1.25.2)
   1: fact: numpy (1.25.1) requires Python >=3.9
   1: derived: not numpy (==1.25.1)
   1: fact: numpy (1.25.0) requires Python >=3.9
   1: derived: not numpy (==1.25.0)
   1: selecting numpy (1.24.4)
   1: Version solving took 0.670 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.21.0)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.21.0)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.21.0)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: selecting numpy (1.26.3)
   1: Version solving took 0.354 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.079 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.120 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.163 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11", numpy (>=1.23.2) with markers python_version == "3.11" and numpy (>=1.26.0) with markers python_version >= "3.12".
   1: Version solving took 0.210 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11" and numpy (>=1.23.2) with markers python_version >= "3.11".
   1: Version solving took 0.254 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.20.3) with markers python_version < "3.10", numpy (>=1.23.2) with markers python_version >= "3.11" and numpy (>=1.21.0) with markers python_version >= "3.10" and python_version < "3.11".
   1: Version solving took 0.294 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.23.2)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.23.2)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: selecting numpy (1.26.3)
   1: Version solving took 0.321 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.079 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.121 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4,<2) with markers python_version < "3.11", numpy (>=1.23.2,<2) with markers python_version == "3.11" and numpy (>=1.26.0,<2) with markers python_version >= "3.12".
   1: Version solving took 0.161 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11", numpy (>=1.23.2) with markers python_version == "3.11" and numpy (>=1.26.0) with markers python_version >= "3.12".
   1: Version solving took 0.219 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.22.4) with markers python_version < "3.11" and numpy (>=1.23.2) with markers python_version >= "3.11".
   1: Version solving took 0.253 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.20.3) with markers python_version < "3.10", numpy (>=1.23.2) with markers python_version >= "3.11" and numpy (>=1.21.0) with markers python_version >= "3.10" and python_version < "3.11".
   1: Version solving took 0.341 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}}).
   1: fact: test is 0.1.0
   1: derived: test
   1: fact: test depends on pandas (*)
   1: selecting test (0.1.0)
   1: derived: pandas
   1: fact: pandas (2.2.0) requires Python >=3.9
   1: derived: not pandas (==2.2.0)
   1: fact: pandas (2.1.4) requires Python >=3.9
   1: derived: not pandas (==2.1.4)
   1: fact: pandas (2.1.3) requires Python >=3.9
   1: derived: not pandas (==2.1.3)
   1: fact: pandas (2.1.2) requires Python >=3.9
   1: derived: not pandas (==2.1.2)
   1: fact: pandas (2.1.1) requires Python >=3.9
   1: derived: not pandas (==2.1.1)
   1: fact: pandas (2.1.0) requires Python >=3.9
   1: derived: not pandas (==2.1.0)
   1: fact: pandas (2.0.3) depends on python-dateutil (>=2.8.2)
   1: fact: pandas (2.0.3) depends on pytz (>=2020.1)
   1: fact: pandas (2.0.3) depends on tzdata (>=2022.1)
   1: fact: pandas (2.0.3) depends on numpy (>=1.23.2)
   1: selecting pandas (2.0.3)
   1: derived: numpy (>=1.23.2)
   1: derived: tzdata (>=2022.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8.2)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
   1: selecting six (1.16.0)
   1: selecting pytz (2023.4)
   1: selecting tzdata (2023.4)
   1: selecting numpy (1.26.3)
   1: Version solving took 0.323 seconds.
   1: Tried 1 solutions.
   0: Complete version solving took 5.596 seconds with 22 overrides
   0: Resolved with overrides: ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.20.3)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.22.4,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.22.4)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.21.0)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.23.2,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.0'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.4'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.3'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.2'): {'numpy': <Dependency numpy (>=1.26.0,<2)>}, Package('pandas', '2.1.1'): {'numpy': <Dependency numpy (>=1.26.0)>}, Package('pandas', '2.1.0'): {'numpy': <Dependency numpy (>=1.23.2)>}, Package('pandas', '2.0.3'): {'numpy': <Dependency numpy (>=1.23.2)>}})

Finding the necessary packages for the current system

Package operations: 6 installs, 0 updates, 0 removals

  • Installing six (1.16.0)
  • Installing numpy (1.26.3)
  • Installing python-dateutil (2.8.2)
  • Installing pytz (2023.4)
  • Installing tzdata (2023.4)
  • Installing pandas (2.0.3)

Writing lock file

Installing the current project: test (0.1.0)
  - Building package test in editable mode
  - Adding test.pth to /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12/lib/python3.12/site-packages for /test
  - Adding the test-0.1.0.dist-info directory to /root/.cache/pypoetry/virtualenvs/test-swbZ_4R8-py3.12/lib/python3.12/site-packages

原因

poetry 2.0.3は2023/07/28にリリースされました。また、Python3.12は2023/10/02にリリースされました。したがって、poetry2.0.3のPython3.12に対応したビルドパッケージはPyPIに存在しません。

https://pypi.org/project/pandas/2.0.3/#files
image.png

この場合poetry(pip?)はPython3.12用にビルドします。このビルドに時間がかかっているため、初回のpoetry instalは15分以上かかりました。

参考情報として、pip installでpandas 2.0.3をインストールしたときのログを記載します。
pipコマンドの場合、ログでpandasをビルドしていることが分かりました。

# time pip install "pandas==2.0.3"
Collecting pandas==2.0.3
  Using cached pandas-2.0.3.tar.gz (5.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting python-dateutil>=2.8.2 (from pandas==2.0.3)
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting pytz>=2020.1 (from pandas==2.0.3)
  Obtaining dependency information for pytz>=2020.1 from https://files.pythonhosted.org/packages/9c/3d/a121f284241f08268b21359bd425f7d4825cffc5ac5cd0e1b3d82ffd2b10/pytz-2024.1-py2.py3-none-any.whl.metadata
  Using cached pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.1 (from pandas==2.0.3)
  Obtaining dependency information for tzdata>=2022.1 from https://files.pythonhosted.org/packages/a3/fb/52b62131e21b24ee297e4e95ed41eba29647dad0e0051a92bb66b43c70ff/tzdata-2023.4-py2.py3-none-any.whl.metadata
  Using cached tzdata-2023.4-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting numpy>=1.21.0 (from pandas==2.0.3)
  Obtaining dependency information for numpy>=1.21.0 from https://files.pythonhosted.org/packages/c4/c6/f971d43a272e574c21707c64f12730c390f2bfa6426185fbdf0265a63cbd/numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas==2.0.3)
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Using cached numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB)
Using cached pytz-2024.1-py2.py3-none-any.whl (505 kB)
Using cached tzdata-2023.4-py2.py3-none-any.whl (346 kB)
Building wheels for collected packages: pandas
  Building wheel for pandas (pyproject.toml) ... done
  Created wheel for pandas: filename=pandas-2.0.3-cp312-cp312-linux_x86_64.whl size=46076278 sha256=4c6fcc0627c35a877fd9288852168b2954dafde64f2da412b0beca1c9dfd9442
  Stored in directory: /root/.cache/pip/wheels/08/95/b7/15a2a9958c1fde0807c23b05bfed1a32ff9c7225c55d270d27
Successfully built pandas
Installing collected packages: pytz, tzdata, six, numpy, python-dateutil, pandas
Successfully installed numpy-1.26.3 pandas-2.0.3 python-dateutil-2.8.2 pytz-2024.1 six-1.16.0 tzdata-2023.4
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip

real	18m6.067s
user	17m44.919s
sys	0m20.609s

まとめ

  • Python3.8から3.12をサポートするツールで、pandasのバージョンを指定しないと、pandas 2.0.3をインストールしようとする
  • pandas 2.0.3はPython3.12で動くビルドパッケージがPyPIに存在しないため、ローカルでビルドする必要がある
  • Python3.12環境でpoetry installを実行すると、pandas 2.0.3をビルドするため15分以上時間がかかった

教訓

  • poandasやnumpyなどビルドが必要なパッケージは、実行したいPython環境でのビルドパッケージが存在するかを意識する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0