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
In ./Doc, "make html" and "make build" should depend on "make venv" #88919
Comments
In Doc/Makefile, all of the build rules should be dependent on the existence of a virtual environment. I could see this being controversial, because folks who have these tools installed elsewhere might prefer not to have a venv made for them, but my personal workflow is to strive to keep my system site-packages folder as empty as possible and to use virtual environments frequently. In any case, I'm interested to hear what we think. Momentarily, I will attach a PR where I went ahead and made these changes. Here is a summary of the changes:
Let me know what you think. I may have a blind spot to others' workflows! Also, I'm not a Windows user, so I have no insight as to whether |
Thanks, Jack! |
I'm one of those who disagree with "make html" suddenly downloading code from the internet and running it, but I guess I'm in a minority. I'll switch to using Still, I'd have appreciated a heads-up notice. |
@petr.viktorin a whatsnew entry was added, what more notice could have been provided? I have an idea for an alternative that might be better. What if |
Actually, I tested out that idea (main...jdevries3133:bpo-44756-doc-make), and I don't think its as nice of a solution. I think it is valuable for new contributors to be able to type "make html" and have it work. Look at how much the change simplifies the README for new contributors to setup their documentation build toolchain. Then, look at how many Additionally, this is the extent of the "downloading code from the internet and running it" that occurs::
If running that is ever unsafe, we have big problems! |
The 3.10.0rc1 source tarballs contain the Docs/venv directory populated with pablogsal's venv: bpo-44824 |
The issue this (or lack of communication about it) caused in rc1 is tracked in https://bugs.python.org/issue44823
Ideally, the python-dev mailing list (or Discourse).
Who is "we"? For example, PyPI doesn't guarantee that wheels correspond to sources. "Markupsafe" is particularly dangerous because the wheels are platform-specific and have compiled code, so tampering is nearly undetectable. (But if another dependency starts using platform-specific wheels, I don't think anyone would notice.) |
I've sent a mail to python-dev: https://mail.python.org/archives/list/python-dev@python.org/thread/MGPNI7OSA7UXNOTVDVW2I2GUMXV25FRS/ |
Note this issue has impacted negatively the release process of 3.10.0rc1: |
There was a previous attempt at adding a dependency on venv that ended up being reverted (bpo-30487 and 122fc136b34e11906466851e77bb6959946467ee0). Over the years we have had a number of iterations of tweaking Doc/Makefile to balance ease of use (by providing the venv) with those of more advanced users who build docs as part of their automated processeses. I think what we had prior to this most recent change worked reasonably well for all. The previous process is clearly documented, for example in the Dev Guide (https://devguide.python.org/documenting/?highlight=venv#building-the-documentation) and does not strike me as very onerous. I appreciate the motivation behind this change but I really think there isn't a problem here that needs to be solved and I would support reverting the change for 3.9 and 3.10 and *perhaps* reconsider something for 3.11. |
Revert done. Re-closing! |
make build
depends onmake html
#27403make build
depends onmake html
(GH-27403) #27410make build
depends onmake html
(GH-27403) #27411make html
#27635make html
(GH-27635) #27636make html
(GH-27635) #27637Note: 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: