bioconda-recipes icon indicating copy to clipboard operation
bioconda-recipes copied to clipboard

Non-noarch packages can't be installed with Python >=3.11 (Bioconda does not yet make 3.11 builds)

Open corneliusroemer opened this issue 1 year ago • 10 comments

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.

corneliusroemer avatar Nov 03 '22 23:11 corneliusroemer

We need to wait until conda-forge has finished or at least progressed substantially with the py311 migration before we can start.

bgruening avatar Nov 04 '22 06:11 bgruening

(Still waiting for conda-forge, per the conversation on bioconda/bioconda-utils#878.)

jmarshall avatar May 15 '23 20:05 jmarshall

Any update on this?

shenker avatar Oct 02 '23 19:10 shenker

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.

jmarshall avatar Nov 23 '23 00:11 jmarshall

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)

corneliusroemer avatar Dec 20 '23 20:12 corneliusroemer

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

pdimens avatar Jan 10 '24 19:01 pdimens

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 avatar Jan 10 '24 19:01 jmarshall

@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).

holtgrewe avatar Jan 24 '24 13:01 holtgrewe

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.

jmarshall avatar Jan 24 '24 14:01 jmarshall

Which version supports python3.11 ?

yitengfei120011 avatar Jan 29 '24 01:01 yitengfei120011