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
Clarify successful build message #62045
Comments
From: Python build finished, but the necessary bits to build these modules were not found: To: Python build successfully finished, but the necessary bits to build these optional modules were not found: Notice the addition of "successfully" and "optional". Hopefully this will cause fewer new contributors to get thrown by this message. |
And just FYI, the pre-existing sentence already extends past 80 characters (84), so the new length of 104 shouldn't be a concern. Although we could re-format it into two lines:: Python build finished successfully! |
And I would probably go with "finished successfully" instead of "successfully finished". |
Using two lines sounds good, especially if the last one printed is the positive one (“build successful”). Do you think there will be oppotions to backporting this? |
opposition* :) |
Can't backport; someone might be relying on the output to verify their automated build successfully built or something. |
As someone trying to get started contributing, I think this change makes it a good deal clearer (although at this point I already know that those modules are optional). The two line version looks better to me. However, "necessary bits" still seems unclear. Would it be going too far to suggest that it gets changed to something like this? Python build finished successfully! |
Brett: You’re right, too bad. Harrison: “third-party packages” may be ambiguous (Python distributions vs. system dependencies), and “required” may conflict with “optional”. I propose: Some optional modules were not built because of missing system files: |
I guess the question is whether all the code is third-party or simply optional on some OS? Don't know the answer off the top of my head. |
I personally don't like the message re-ordering. It feels like "oops, you didn't build everything. Hey everything built fine!" It reads like there was a bug and we accidentally interpreted it as a success. And it isn't necessarily system files. I mean sqlite3 is not a system package, it's a DB project that we happen to support. |
(I used “file” instead of “package” because not everybody will install deps using the system package manager (if any), but that may be complicating things for no good reason.) |
I use homebrew on OS X and have it in a non-standard location which is not a systems directory (e.g. Developer/). When I hear "system", I think /usr, etc. which is not where people necessarily install third-party stuff. |
Would "external libraries" work better? It's clearly not referring to Python packages. And could be installed by a system package manager, or by yourself in a non-standard location. Python build finished successfully! |
"External libraries" works for me. |
I'm afraid that "External libraries" is still misleading. On package-manager-managed linux systems, it is often only the header files that are missing, the libraries are there. It may well be that "necessary bits" is the most informative choice :). With two lines I suppose you could be wordy and say "external libraries and/or header files", but that might take us beyond column 80 again. |
Perhaps "necessary bits" really is the best way to put it. Here's one more suggestion, though: Python build finished successfully! Dropping the definite article and rearranging it to use "needed" instead of "necessary" keeps it at 93 characters, only 9 more than the current message. I'm not sure, but I think the "and/" could be dropped, too. That, at least, gives you something to put into Google. |
See also bpo-13472 for a related discussion. |
Patch to modify setup.py comments on successful build |
First, thanks to Yogesh for writing a patch! Second, I still think the second line should be "The necessary bits to build these optional modules were not found:". I purposefully like the vagueness of it so we don't start going on about external vs. system, whether header files needs to be mentioned, etc. That is a perk for people who aren't C programmers and don't want to know what a header file is. |
New changeset e13ff9fdfaf9 by Brett Cannon in branch 'default': |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: