lightfm pip install fails on pip==25.3 because of pep517
- Dominant language
- Python
- Stars
- 5.1k
- Forks
- 724
- PR merge metrics
- No merged PRs in 30d
Description
I can install without problems with pip<=25.2, if pip==25.3 the same error happens. And looks like pip==25.3 doesn't accept --no-use-pep517 option.
probably some updates are needed in lightfm, this is the message that appears with older pip versions:
DEPRECATION: Building 'lightfm' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the --use-pep517 option, (possibly combined with --no-build-isolation), or adding a pyproject.toml file to the source tree of 'lightfm'. Discussion can be found at https://github.com/pypa/pip/issues/6334
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
in the pypi issue, there is the following section:
> [!WARNING]
> The project may fail to build or install when PEP 517 mode is enabled. If this happens, the recommended course of action is to do nothing and wait for the project to release a fixed version. Until support for the setup.py bdist_wheel is removed in pip 25.3, pip will continue to be able to install affected projects without any issue.
# I am an AUTHOR of the affected project
You need to add a pyproject.toml file to your project. If you cannot add a pyproject.toml file, then follow the advice for USERS of affected projects above.
Without this file, pip does not know that your project supports the [PEP 517](https://peps.python.org/pep-0517/) mechanism which is the replacement for the deprecated setup.py bdist_wheel mechanism.
In this file, you need to declare that your project is packaged using setuptools. You can add the following pyproject.toml to the root of your project, in the same folder that your setup.py or setup.cfg is contained in.
```
# pyproject.toml
[build-system]
# XXX: If your project needs other packages to build properly, add them to this list.
requires = ["setuptools >= 64"]
build-backend = "setuptools.build_meta"
```
If the deprecation warning disappears, your project is being installed with the PEP 517 mechanism. Double check that the new installation functions correctly. If everything looks good, you're done. Congratulations!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the project root, alongside the existing setup.py or setup.cfg, and review the proposed pyproject.toml build-system declaration. Test installation with pip 25.3 and confirm that LightFM builds successfully without the legacy setup.py warning or the removed --no-use-pep517 option.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100