Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUILD: pandas fails to install with python-freethreading 3.13.0 final release #60016

Open
1 task done
djakubiec opened this issue Oct 10, 2024 · 2 comments
Open
1 task done
Labels
Build Library building on various platforms Upstream issue Issue related to pandas dependency Usage Question

Comments

@djakubiec
Copy link

Installation check

Platform

Linux-5.4.0-172-generic-x86_64-with-glibc2.31

Installation Method

conda install

pandas Version

2.2.3

Python Version

3.13.0 freethreading

Installation Logs

⇒  conda create -y --name python313t --channel conda-forge python-freethreading pandas
Channels:
 - conda-forge
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package pandas-0.20.3-py27h820b67f_2 requires python >=2.7,<2.8.0a0, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ pandas is installable with the potential options
│  ├─ pandas [0.20.3|0.21.0|...|0.24.2] would require
│  │  └─ python >=2.7,<2.8.0a0 , which can be installed;
│  ├─ pandas [0.17.0|0.17.1|...|1.0.1], which can be installed;
│  ├─ pandas [1.0.2|1.0.3|...|1.1.5] would require
│  │  ├─ python >=3.6,<3.7.0a0 , which can be installed;
│  │  └─ python_abi 3.6.* *_cp36m, which can be installed;
│  ├─ pandas [1.0.2|1.0.3|...|1.3.5] would require
│  │  ├─ python >=3.7,<3.8.0a0 , which can be installed;
│  │  └─ python_abi 3.7.* *_cp37m, which can be installed;
│  ├─ pandas [1.0.2|1.0.3|...|2.0.3] would require
│  │  ├─ python >=3.8,<3.9.0a0 , which can be installed;
│  │  └─ python_abi 3.8.* *_cp38, which can be installed;
│  ├─ pandas [1.0.3|1.0.4|...|1.1.5] would require
│  │  └─ python_abi 3.6 *_pypy36_pp73, which requires
│  │     └─ python 3.6.* *_73_pypy, which can be installed;
│  ├─ pandas [1.1.3|1.1.4|...|2.2.3] would require
│  │  ├─ python >=3.9,<3.10.0a0 , which can be installed;
│  │  └─ python_abi 3.9.* *_cp39, which can be installed;
│  ├─ pandas [1.2.0|1.2.1|...|1.3.5] would require
│  │  └─ python_abi 3.7 *_pypy37_pp73, which requires
│  │     └─ python 3.7.* *_73_pypy, which can be installed;
│  ├─ pandas [1.3.4|1.3.5|...|2.2.3] would require
│  │  ├─ python >=3.10,<3.11.0a0 , which can be installed;
│  │  └─ python_abi 3.10.* *_cp310, which can be installed;
│  ├─ pandas [1.4.2|1.4.3|...|2.0.3] would require
│  │  └─ python_abi 3.8 *_pypy38_pp73, which requires
│  │     └─ python 3.8.* *_73_pypy, which can be installed;
│  ├─ pandas [1.4.2|1.4.3|...|2.2.2] would require
│  │  └─ python_abi 3.9 *_pypy39_pp73, which requires
│  │     └─ python 3.9.* *_73_pypy, which can be installed;
│  ├─ pandas [1.5.1|1.5.2|...|2.2.3] would require
│  │  ├─ python >=3.11,<3.12.0a0 , which can be installed;
│  │  └─ python_abi 3.11.* *_cp311, which can be installed;
│  ├─ pandas [2.1.1|2.1.2|...|2.2.3] would require
│  │  └─ python_abi 3.12.* *_cp312, which can be installed;
│  ├─ pandas 2.2.3 would require
│  │  └─ python_abi 3.11.* *_cp311, which can be installed;
│  ├─ pandas 2.2.3 would require
│  │  ├─ python >=3.13.0rc2,<3.14.0a0  but there are no viable options
│  │  │  ├─ python 3.13.0 conflicts with any installable versions previously reported;
│  │  │  └─ python [3.13.0rc1|3.13.0rc2|3.13.0rc3] would require
│  │  │     └─ _python_rc, which does not exist (perhaps a missing channel);
│  │  └─ python_abi 3.13.* *_cp313 with the potential options
│  │     ├─ python_abi 3.13 would require
│  │     │  └─ python 3.13.* *_cpython, which conflicts with any installable versions previously reported;
│  │     └─ python_abi 3.13 would require
│  │        └─ python 3.13.* *_cp313, which can be installed;
│  ├─ pandas [0.20.3|0.21.0|...|0.23.4] would require
│  │  └─ python >=3.5,<3.6.0a0 , which can be installed;
│  ├─ pandas [0.20.3|0.21.0|...|1.1.5] would require
│  │  └─ python >=3.6,<3.7.0a0 , which can be installed;
│  ├─ pandas [0.23.2|0.23.3|...|1.3.5] would require
│  │  └─ python >=3.7,<3.8.0a0 , which can be installed;
│  ├─ pandas [0.25.3|1.0.0|...|2.0.3] would require
│  │  └─ python >=3.8,<3.9.0a0 , which can be installed;
│  ├─ pandas [1.1.3|1.1.5|...|2.2.2] would require
│  │  └─ python >=3.9,<3.10.0a0 , which can be installed;
│  ├─ pandas 1.3.0 would require
│  │  └─ python >=3.7.1,<3.8.0a0 , which can be installed;
│  ├─ pandas [1.4.1|1.4.2|...|2.2.2] would require
│  │  └─ python >=3.10,<3.11.0a0 , which can be installed;
│  ├─ pandas [1.5.2|1.5.3|...|2.2.2] would require
│  │  └─ python >=3.11,<3.12.0a0 , which can be installed;
│  └─ pandas [2.1.1|2.1.4|2.2.1|2.2.2] would require
│     └─ python >=3.12,<3.13.0a0 , which can be installed;
└─ python-freethreading is not installable because there are no viable options
   ├─ python-freethreading [3.13.0rc1|3.13.0rc2] would require
   │  └─ python_abi * *_cp313t but there are no viable options
   │     ├─ python_abi 3.13 would require
   │     │  └─ python 3.13.* *_cp313t, which conflicts with any installable versions previously reported;
   │     └─ python_abi 3.13, which cannot be installed (as previously explained);
   └─ python-freethreading [3.13.0|3.13.0rc2|3.13.0rc3] would require
      ├─ cpython 3.13.0.*  but there are no viable options
      │  ├─ cpython [3.13.0|3.13.0rc1|3.13.0rc2|3.13.0rc3] would require
      │  │  └─ python 3.13.0.*  but there are no viable options
      │  │     ├─ python 3.13.0 conflicts with any installable versions previously reported;
      │  │     └─ python [3.13.0rc1|3.13.0rc2|3.13.0rc3], which cannot be installed (as previously explained);
      │  └─ cpython 3.13.0 would require
      │     ├─ python 3.13.0.*  but there are no viable options
      │     │  ├─ python 3.13.0 conflicts with any installable versions previously reported;
      │     │  └─ python [3.13.0rc1|3.13.0rc2|3.13.0rc3], which cannot be installed (as previously explained);
      │     └─ python_abi * *_cp313 with the potential options
      │        ├─ python_abi 3.13, which cannot be installed (as previously explained);
      │        └─ python_abi 3.13, which can be installed (as previously explained);
      └─ python_abi * *_cp313t, which cannot be installed (as previously explained).

@djakubiec djakubiec added Build Library building on various platforms Needs Triage Issue that has not been reviewed by a pandas team member labels Oct 10, 2024
@lithomas1
Copy link
Member

Looks like the conda-forge migration for Python 3.13t hasn't been kicked off yet, I think.
When that happens, packages like pandas will be rebuilt to be compatible with free-threading.

@h-vetinari
Sorry to ping, but would you know more about the Python 3.13t migration?
(I saw you made the post here https://discuss.python.org/t/launch-day-availability-of-python-3-13-in-conda-forge/67124 about conda-forge and free-threading)

@lithomas1 lithomas1 added Usage Question Upstream issue Issue related to pandas dependency and removed Needs Triage Issue that has not been reviewed by a pandas team member labels Oct 13, 2024
@h-vetinari
Copy link
Contributor

h-vetinari commented Oct 13, 2024

Hi 👋

Looks like the conda-forge migration for Python 3.13t hasn't been kicked off yet, I think.
When that happens, packages like pandas will be rebuilt to be compatible with free-threading.

Just to be clear, rebuilding things in conda-forge does not magically make a package compatible -- that needs to happen at the source level, which thankfully, should be the case as of pandas v2.2.3, but that's not the case for many other packages yet (see this tracker for the beginnings of a larger effort).

Sorry to ping, but would you know more about the Python 3.13t migration?
(I saw you made the post here https://discuss.python.org/t/launch-day-availability-of-python-3-13-in-conda-forge/67124 about conda-forge and free-threading)

As one crucial element, the outstanding release of Cython 3.1 (first version compatible with free-threading) is a definite brake on progress. Another topic is that even stuff like pytest usage is not necessarily thread-safe. That said, we added free-threading build for numpy ~yesterday, and we'll get to pandas it in due course. However people are -- naturally -- free to try to do the same work that happened for numpy also for pandas (or any outstanding dependencies)!

As I said in that DPO announcement though, don't expect this process to be fast. The GIL removal is the most impactful change in Python since the 2->3 migration, and it will take a while to get things working across the ecosystem. The best thing that people who are eager to use this can do is to get involved - start testing, help fix issues in the libraries you're interested in, and once there's broader compatibility, the building of things in conda-forge will be the least of our problems. 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms Upstream issue Issue related to pandas dependency Usage Question
Projects
None yet
Development

No branches or pull requests

3 participants