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 autoconfpip 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 autoconfpip 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.