fastFM icon indicating copy to clipboard operation
fastFM copied to clipboard

Failure to install on Python3.8

Open ogencoglu opened this issue 5 years ago • 8 comments

I am getting the following error with pip install on python3.8.

ERROR: Command errored out with exit status 1: command: /usr/local/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-5opxoow3/fastFM/setup.py'"'"'; __file__='"'"'/tmp/pip-install-5opxoow3/fastFM/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-28phucvr/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/fastFM

ogencoglu avatar Jan 23 '20 09:01 ogencoglu

@ogencoglu

Thanks for the feedback 3.8 is currently not supported. We are working on a complete rewrite which will bring 3.8 support and much more.

ibayer avatar Jan 27 '20 10:01 ibayer

@ibayer

first, many thanks for the cool library

do you know for when the rewrite you mean is targeted? thx!

mohelm avatar Mar 25 '20 10:03 mohelm

@mohelm We made good progress but currently all free resources go into a public service covid19 related project. Feel free to ping me again in a few week, I should know more by then.

What features are you specific looking for, is it just the 3.8 support? We considering to release a limited beta version to shorten the time to the full release a bit.

ibayer avatar Mar 26 '20 08:03 ibayer

@ibayer : many thanks for your reply. it is very commendable that you devote your resources towards helping with the covid19 issue. Thanks!

regarding fastFM: yes, I actually got it to work with Python 3.8 (on macOS Catalina) using the following "installation scipt".

git clone --recursive https://github.com/ibayer/fastFM.git <destination>
cd <destination>/fastFM
make TARGET=HASWELL
cd - # Back to actual project
poetry run pip install <destination>/fastFM

I then also have simply "current" versions of the dependencies (cython, scipy etc.) in the actual project. However, I do not manage to install it via pip install fastFM, so it is not particularly beautiful (also with a view on CI/CD pipelines), and I am very much interested in a version that would work with pip.

Regarding the beta that would be fantastic. Maybe I could also provide some help in the form of feedback etc then.

Thanks again and all the best Moritz

mohelm avatar Mar 26 '20 11:03 mohelm

INSTALL MANUAL FOR UBUNTU WITH MODERN PYTHON 3.8:

I would like to share solution the same problem in Ubuntu 20.04.1 (x64) and python 3.8.5, DELL notebook. OS is installed on VirtualBox 6.1.18 on Windows 10 (host-OS). I spent 2 days for it. Maybe someone will save his/her time. And thanks to @mohelm for his comment above, but it worked not completelly. And I have NOT-Mac computer. pip install still doesn't work.

I built fastFM from sources.

  1. cd folder where to download git sources from git.
  2. git clone --recursive http://github.com/ibayer/fastFM.git .
  3. make TARGET=NEHALEM

Library should be built completely without errors.

Install it:

python setup.py install Library now should be installed without errors.

Restart service Jupyter notebook if it was working. I had an error if I import lib after installation immediatelly.

Now, I can see fastFM in list pip list | grep fastFM

You can use it in python code:

import fastFM

Good luck!

QFireball avatar Mar 31 '21 01:03 QFireball

Hi,

I am facing a similar issue and methods above cannot solve my problem.

I try to install fastFM on an M1 mac with python3.8 but fail. Although following methods to make and install from source can install fastFM successfully, I found the following error when I run the code:

AttributeError: module 'ffm' has no attribute 'ffm_als_fit'

Does anyone managed to get it work on m1 with python 3.8?

zychen423 avatar Jul 12 '21 15:07 zychen423

@zychen423 how were you able to compile? When running make on macOS m1, I get make[3]: *** No rule to make target ../kernel/arm64/amin.S', needed by samin_k.o'. Stop.

louisabraham avatar Jan 15 '23 00:01 louisabraham

Any updates on this? Would love to see a version for Python 3.9+ as well.

harshvardhaniimi avatar May 24 '23 22:05 harshvardhaniimi