Closed s-andrews closed 1 month ago
Could you please try https://umi-tools.readthedocs.io/en/latest/INSTALL.html#conda-package-manager
It will almost certainly work with conda- it works if I use pip from python v3.11 on the same machine. The failure seems to be related to a change in internals in python 3.12. I have it working now, but thought I'd report it in case you had a fix for future 3.12 users.
@s-andrews - Thanks for bringing this to our attention.
Forgive my ignorance, but is the solution simply that we need to re-compile umi_tools/_dedup_umi.c
with a more recent cython
? Will that be backwards compatible?
I am getting the same with umi_tools-1.1.4 under python-3.12. The following works for me around the bug:
python3.11 -m pip install umi_tools
Could you please try https://umi-tools.readthedocs.io/en/latest/INSTALL.html#conda-package-manager
The package manager did not resolve deps for me so it did not even try to install the package. I had to stick to pip
.
umi_tools
cannot be installed with python 3.12
under conda
:
$ conda install "umi_tools>=1.1.5"
Channels:
- conda-canary
- bioconda
- r
- conda-forge
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: - warning libmamba Added empty dependency for problem type SOLVER_RULE_UPDATE
failed
LibMambaUnsatisfiableError: Encountered problems while solving:
- package umi_tools-1.1.5-py310h4b81fae_0 requires python >=3.10,<3.11.0a0, but none of the providers can be installed
Could not solve for environment specs
The following packages are incompatible
├─ pin-1 is installable and it requires
│ └─ python 3.12.* , which can be installed;
└─ umi_tools >=1.1.5 is not installable because there are no viable options
├─ umi_tools 1.1.5 would require
│ └─ python >=3.10,<3.11.0a0 , which conflicts with any installable versions previously reported;
├─ umi_tools 1.1.5 would require
│ └─ python >=3.11,<3.12.0a0 , which conflicts with any installable versions previously reported;
├─ umi_tools 1.1.5 would require
│ └─ python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported;
└─ umi_tools 1.1.5 would require
└─ python >=3.9,<3.10.0a0 , which conflicts with any installable versions previously reported.
Pins seem to be involved in the conflict. Currently pinned specs:
- python 3.12.* (labeled as 'pin-1')
Currently there seems to be an issue building this package for python 3.12
.
With conda, you should be able to create a dedicated environment with a different version of python (e.g. 3.11
) for umi_tools
:
conda create -n umi_tools -c bioconda -c conda-forge umi_tools
conda activate umi_tools
umi_tools --help
python --version
As of #657, umi_tools should now compile on python 3.12.
Using AlmaLinux 9.2 (RHEL9 derivative) with gcc 11.4.1 and python 3.12.2
Compilation using pip3 install umi-tools fails with:
It looks like it might be similar to this issue raised against cython: https://github.com/cython/cython/issues/5238
Doing the same thing with python 3.11.8 on the same system works as expected.