-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[BUG] Some packages still needing setup.py fail to build in 74.0.0 #4615
Comments
Hi @Mindstan, does the package install correctly if you use
Please note that without a reproducer, we cannot investigate or help you much. The good side is that to create a minimal reproducer, you don't need to disclose any proprietary information. It would be ideal if you can create some simplified toy example that triggers the same error, without disclosing the original source code. Please have a look at the excellent guide from stack overflow on this topic: https://stackoverflow.com/help/minimal-reproducible-example. If you are not able to provide a reproducer, maybe then the best thing is to contact the support from your supplier about this problem. |
@abravalheri A guess, but it looks like #4603 may have incidentally broken support for a |
Idk about OP's usecase, but here's a minimal reproducer that fails with the same error on v74 but passes on v73.0.1 from pathlib import Path
from setuptools import setup
from setuptools.command.build import build
class MyBuild(build):
def initialize_options(self) -> None:
super().initialize_options()
self.build_base = Path.cwd()
return
setup(cmdclass={"build": MyBuild})
|
Thank you @Avasam, that makes sense... The thing is: I don't think that support for
So that is probably another case of Hyrum's law. We might have a look on this, but meanwhile users are can revert to strings to avoid problems. @Mindstan, it is still important for you to provide a minimal reproducer of the original problem before we keep investigating to avoid relying on conjectures. |
I got the same error, with I updated the initial post with the content of |
Nice analysis. I concur.
Yes, indeed, but it still seems worthwhile to restore incidental support where it was present but lost. |
Thank you @jaraco . I think we can add this in setuptools by overwriting the method, but I think it would also fit nicely in distutils (we probably just need to add |
I'm happy to handle this one, because I'd like to see the approach in distutils. |
I confirm I have no longer the issue with |
setuptools version
74.0.0
Python version
3.9.18
OS
Ubuntu 22.04.4 x86-64
Additional environment information
The package to install has binary libraries that are already compiled.
pip==24.2, wheel==0.44.0, CPython 3.9.18 compiled with shared libraries option
It worked fine with setuptools<74.
The command is running in a Docker image.
Description
While building a legacy Python package using the command
python setup.py install
, the process crashed with the following error:Expected behavior
The package build and install should be successfully completed.
How to Reproduce
This is the
setup.py
of the packages (with the package name changed). Please note that it is generated by SWIG from a C++ library.Output
The text was updated successfully, but these errors were encountered: