bioconda-recipes
bioconda-recipes copied to clipboard
Non-noarch packages can't be installed with Python >=3.11 (Bioconda does not yet make 3.11 builds)
I was wondering whether bioconda makes Python 3.11 builds yet.
bx-python seems to not have a Python 3.11 build yet, but nothing seems to prevent one from being made in theory, I think.
Maybe this is something you are working on? Couldn't find an issue on this here so thought I ask.
We need to wait until conda-forge has finished or at least progressed substantially with the py311 migration before we can start.
(Still waiting for conda-forge, per the conversation on bioconda/bioconda-utils#878.)
Any update on this?
In the absence of anyone else doing anything about this, here is a first pass at the infrastructure PR that is the first step towards building packages for Python 3.11: bioconda/bioconda-utils#938.
For those subscribed to this issue, this comment from @bgruening should be helpful:
Yes, we intend to support Python 3.11 and 3.12. However, we are currently busy rolling out the ARM builds and in parallel the BioConductor release. This keeps us and the CI already busy. Realistically we can only care about 3.11/12 in January. Sorry. (from https://github.com/bioconda/bioconda-utils/pull/938#issuecomment-1846747390)
Is 3.11+ support still hindered as described above? The Snakemake v8 recipe has a minimum dependency on Python 3.11 and it is distributed/built via Bioconda. https://github.com/bioconda/bioconda-recipes/blob/master/recipes/snakemake/meta.yaml
Snakemake is a noarch package for which conda builds one package file that works on all Python versions that meet snakemake's declared requirements. This problem affects packages for which separate per-Python-version package files must be built, and remains unresolved.
There has been no further communication from the core cabal, but it appears that the BioConductor release work is complete. I see no reason why this long overdue 3.11 addition and the ARM work could not occur in parallel.
@jmarshall what about pysam? What would be necessary to get Python 3.11 and 3.12 support in there? Right now, mamba
says (and the equivalent for python=3.11
).
$ mamba create -y -n python-3-12-pysam python=3.12 pysam
The following packages are incompatible
├─ pysam is installable with the potential options
│ ├─ pysam [0.10.0|0.11.0|...|0.9.1.4] would require
│ │ └─ python [2.7* |>=2.7,<2.8.0a0 ], which can be installed;
│ ├─ pysam [0.10.0|0.15.2|...|0.9.1] would require
│ │ ├─ python >=2.7,<2.8.0a0 , which can be installed;
│ │ └─ python_abi 2.7.* *_cp27mu, which can be installed;
│ ├─ pysam [0.10.0|0.11.0|...|0.9.1.4] would require
│ │ └─ python 3.4* , which can be installed;
│ ├─ pysam [0.10.0|0.11.0|...|0.9.1.4] would require
│ │ └─ python [3.5* |>=3.5,<3.6.0a0 ], which can be installed;
│ ├─ pysam [0.10.0|0.11.1|...|0.9.1] would require
│ │ └─ python 3.6* , which can be installed;
│ ├─ pysam [0.10.0|0.15.2|...|0.9.1] would require
│ │ ├─ python >=3.6,<3.7.0a0 , which can be installed;
│ │ └─ python_abi 3.6.* *_cp36m, which can be installed;
│ ├─ pysam [0.10.0|0.14.1|...|0.9.1] would require
│ │ └─ python >=3.6,<3.7.0a0 , which can be installed;
│ ├─ pysam [0.15.2|0.15.4|...|0.9.1] would require
│ │ ├─ python >=3.7,<3.8.0a0 , which can be installed;
│ │ └─ python_abi 3.7.* *_cp37m, which can be installed;
│ ├─ pysam [0.15.2|0.15.3|0.15.4|0.9.1] would require
│ │ └─ python >=3.7,<3.8.0a0 , which can be installed;
│ ├─ pysam [0.15.2|0.16.0.1|...|0.9.1] would require
│ │ ├─ python >=3.8,<3.9.0a0 , which can be installed;
│ │ └─ python_abi 3.8.* *_cp38, which can be installed;
│ ├─ pysam [0.16.0.1|0.17.0|...|0.9.1] would require
│ │ ├─ python >=3.9,<3.10.0a0 , which can be installed;
│ │ └─ python_abi 3.9.* *_cp39, which can be installed;
│ ├─ pysam [0.19.1|0.20.0|0.21.0|0.22.0] would require
│ │ ├─ python >=3.10,<3.11.0a0 , which can be installed;
│ │ └─ python_abi 3.10.* *_cp310, which can be installed;
│ └─ pysam 0.7.7 would require
│ └─ python <3.0.0 , which can be installed;
└─ python 3.12** is uninstallable because there are no viable options
├─ python [3.12.0|3.12.1] conflicts with any installable versions previously reported;
├─ python [3.12.0|3.12.1] would require
│ └─ python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported;
└─ python 3.12.0rc3 would require
└─ _python_rc , which does not exist (perhaps a missing channel).
The same is required for pysam as for any other affected package. It requires the core cabal to prioritise this work, or at least to deploy bioconda/bioconda-utils#938 and allow maintainers to sort this out for their own packages (and their dependencies).
In the meantime, you can install pysam via pip.
Which version supports python3.11 ?