scirpy
scirpy copied to clipboard
Can't install scirpy on Apple Silicon
Describe the bug Unable to install scirpy on Apple silicon using conda/mamba
To Reproduce
mamba install scirpy --channel conda-forge --channel bioconda
Expected behaviour Normal installation
System
- OS: MacOSX (Apple Silicon Arm64)
- Python version 3.9
- Versions of libraries involved scirpy 0.13
Additional context The installation fails because of a dependency on parasail-python, which doesn't seem to be enabled in for osx-arm64 in conda? This is the error message I get:
bioconda/osx-arm64 129.0 B @ 1.2kB/s 0.1s
bioconda/noarch 4.6MB @ 4.6MB/s 1.1s
conda-forge/osx-arm64 7.2MB @ 4.4MB/s 1.8s
conda-forge/noarch 13.7MB @ 4.6MB/s 3.3s
Pinned packages:
- python 3.9.*
Could not solve for environment specs
The following package could not be installed
└─ scirpy is uninstallable because it requires
└─ parasail-python , which does not exist (perhaps a missing channel).
I'm afraid bioconda does currently not compile packages for ARM64. See also these issues:
https://github.com/bioconda/bioconda-utils/issues/706 https://github.com/bioconda/bioconda-recipes/issues/23454
You should still be able to install scirpy using pip install
.
Thanks for the info. I think now there are several packages available on the bioconda/osx-arm64 channel (even scirpy itself), it's just parasail that's not there. I can open an issue there, but based on the links you sent seems like it might be a while.
I also tried installing scirpy via pip but it also fails - seems to be an issue with parasail:
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for parasail
Running setup.py clean for parasail
Failed to build parasail
ERROR: Could not build wheels for parasail, which is required to install pyproject.toml-based projects
I can open an issue with parasail, but thought you'd want to know installation is failing
Thanks for the heads-up! Creating an issue in parasail sounds good! If you do, please tag me that I'm kept in the loop!
Hello, I had the same issue on my Apple M2 Pro and fixed it by running the following code before installing scirpy:
brew install automake libtool autoconf
Thanks for reminding me to follow up. Yes, that's exactly the fix I found as well. Here is the thread on parasail that describes it: https://github.com/jeffdaily/parasail-python/issues/24. To summarize:
-
brew install automake libtool autoconf
-
pip install scirpy
Should work to install on apple silicon. Installing via conda doesn't work because currently there is no bioconda recipe for parasail available for osx-arm64. Hopefully this helps.
I am quite new to python, so my apologies if I miss the obvious ;-) . I have tried this approach as well using conda to install the dependencies.
-
conda install automake libtool autoconf
-
pip install scirpy
However, I get the same error:
note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for parasail Running setup.py clean for parasail Failed to build parasail ERROR: Could not build wheels for parasail, which is required to install pyproject.toml-based projects
Even when I manually download the parasail source code, compiled it, and then installed the Python bindings.
Versions:
- m4 1.4.18 h1230e6a_1
- libtool 2.4.6 h313beb8_1009
- autoconf 2.71 pl5340h80987f9_0
- automake 1.16.5 pl5340hca03da5_1
Thanks in advance!
In https://github.com/jeffdaily/parasail-python/issues/24, there's also mentioned libtools
(with s
) additionally.
If you can't make it work, please comment in the linked issue -- ultimately, this is an issue with parasail, not scirpy.
Thanks, I will contact them.
Now, with the numba implementation of TCRdist merged, we could consider making parasail an optional dependency and suggesting TCRdist as the standard alignment metric.