Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't install scirpy on Apple Silicon #450

Closed
a-munoz-rojas opened this issue Aug 18, 2023 · 10 comments · Fixed by #547
Closed

Can't install scirpy on Apple Silicon #450

a-munoz-rojas opened this issue Aug 18, 2023 · 10 comments · Fixed by #547
Labels
bug Something isn't working

Comments

@a-munoz-rojas
Copy link

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).
@a-munoz-rojas a-munoz-rojas added the bug Something isn't working label Aug 18, 2023
@grst
Copy link
Collaborator

grst commented Aug 21, 2023

I'm afraid bioconda does currently not compile packages for ARM64. See also these issues:

bioconda/bioconda-utils#706
bioconda/bioconda-recipes#23454

You should still be able to install scirpy using pip install.

@a-munoz-rojas
Copy link
Author

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

@grst
Copy link
Collaborator

grst commented Aug 22, 2023

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!

@djlisko01
Copy link

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

@a-munoz-rojas
Copy link
Author

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: jeffdaily/parasail-python#24. To summarize:

  1. brew install automake libtool autoconf
  2. 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.

@FvdBre
Copy link

FvdBre commented Mar 1, 2024

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.

  1. conda install automake libtool autoconf
  2. 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!

@grst
Copy link
Collaborator

grst commented Mar 1, 2024

In jeffdaily/parasail-python#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.

@FvdBre
Copy link

FvdBre commented Mar 2, 2024

Thanks, I will contact them.

@grst
Copy link
Collaborator

grst commented May 17, 2024

Now, with the numba implementation of TCRdist merged, we could consider making parasail an optional dependency and suggesting TCRdist as the standard alignment metric.

@a-munoz-rojas
Copy link
Author

As a user, I think this is a good idea - would greatly simplify installation, and the numba implementation of TCRdist seems to be a better and faster metric anyways. Really excited to hear it was implemented, thanks!

@grst grst added this to scirpy-dev May 28, 2024
@grst grst moved this to In progress in scirpy-dev May 28, 2024
@grst grst pinned this issue Jul 4, 2024
@grst grst mentioned this issue Aug 15, 2024
4 tasks
@grst grst closed this as completed in #547 Aug 30, 2024
@github-project-automation github-project-automation bot moved this from In progress to Done in scirpy-dev Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants