benfred / implicit

Fast Python Collaborative Filtering for Implicit Feedback Datasets
https://benfred.github.io/implicit/
MIT License
3.57k stars 612 forks source link

Pip installation fails for v0.6.0 on ARM machine #611

Closed alexanderkeijser73 closed 2 years ago

alexanderkeijser73 commented 2 years ago

Hey,

First of all, thanks for your hard work, I'm really happy with the new features in v0.6.0 🚀 My team and I recently tried to update implicit to 0.6.0, and we found that pip installation doesn't work on Apple m1 machines. When trying to install with pip, it complains that it can't find a compatible version for the platform. My guess is that it has something to do with the publishing of binary wheels in https://github.com/benfred/implicit/pull/546. On Intel machines, everything works fine, and we were also able to get it to work on m1/ARM by installing from source. However, it would be nice if regular pip installation is also supported 😄

Thanks in advance!

alexanderkeijser73 commented 2 years ago

I see now that this is a duplicate of https://github.com/benfred/implicit/issues/565

benfred commented 2 years ago

@alexanderkeijser73 We should have m1/ARM wheels being generated by cibuildwheel https://github.com/benfred/implicit/blob/bf28fa82445063970c336231282fb5c2a9359565/pyproject.toml#L32-L36

which pushes out wheels like: https://files.pythonhosted.org/packages/2b/9e/6300b7b1102f4e2f5de216cca4727bf668cf0939aa3eb23bfa53bea36363/implicit-0.6.1-cp38-cp38-macosx_11_0_arm64.whl

Do these not work for you? I don't have a M1 mac to test on, but I might be able to borrow one

alexanderkeijser73 commented 2 years ago

I forgot to mention that we run stuff in a Linux Docker container, looks like you only have ARM images for macosx. I think that's the reason we couldn't get it to work

alexanderkeijser73 commented 2 years ago

I asked my colleague (who has an m1) to jump on this thread tomorrow. We are on European time though 😅 Maybe he can try out some stuff. Thanks for your response!

aditya-batheja commented 2 years ago

Hey! Sorry to be posting on a closed issue. However, Im facing the same issue. I see the issue has been marked closed. Im unable to pip install implicit on an linux/arch64 config(running docker on Apple silicon). Was this resolved? Can someone please point me in the right direction?

alexanderkeijser73 commented 2 years ago

@aditya-batheja Which version of Python are you on? It seem that implicit is only supported on m1 mac for python 3.8+ (see the releases). I was able to find a way around it by installing from source