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

RandomWords does not install under pip 24.2 #15

Open
sihil opened this issue Jul 29, 2024 · 1 comment · May be fixed by #16
Open

RandomWords does not install under pip 24.2 #15

sihil opened this issue Jul 29, 2024 · 1 comment · May be fixed by #16

Comments

@sihil
Copy link

sihil commented Jul 29, 2024

pip 24.2 (or setuptools 72 that it brings in?) has removed a long deprecated feature that RandomWords is relying on at https://github.com/tomislater/RandomWords/blob/master/setup.py#L6.

When installing under docker (x86-64) I see ModuleNotFoundError: No module named 'setuptools.command.test' for version 0.4.0.

For now we are using one of the workarounds discussed at pypa/setuptools#4519 (PIP_CONSTRAINT env var pointed to a file containing setuptools<72.0). We have other dependencies that we need to do this for anyway so it's not blocking us but thought I'd give a heads up here.

@zahlman zahlman linked a pull request Jul 31, 2024 that will close this issue
@zahlman
Copy link

zahlman commented Jul 31, 2024

pip 24.2 (or setuptools 72 that it brings in?)

The problem is indeed caused by a change in setuptools 72.0.0. (As the error message will explicitly tell you, "This is an issue with the package mentioned above, not pip.".) Pip uses Setuptools by default to build projects that include a setup.py and don't explicitly ask for a different build backend in a pyproject.toml.

The removal of setuptools.command.test was reverted in 72.1.0 as an emergency measure, but all maintainers should expect it to be permanently removed soon.

The setuptools.command.test functionality was deprecated many years ago. Not to mention, it's intended purely for the developer's convenience - it's irrelevant to building the project (which also should be pre-built anyway as the project is pure Python).

Note that Setuptools is complete overkill for this wheel-building task for pure Python projects - but it does the job, and changing the build backend takes that little extra bit of work and understanding when the project was already using Setuptools before.

This project was unlucky enough to get attention on Stack Overflow for this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants