Heads up: `make` in Doc now creates a venv
Hi, A recent change "make html" in the Doc directory create a venv if one wasn't there before. If you don't want to download sphinx and other dependencies from PyPI, you'll need to adjust your workflow. If you already have all the dependencies, the following command (in the CPython directory, not Doc) will build docs for you: sphinx-build Doc Doc/build/ The issue that added this is: https://bugs.python.org/issue44756
On 04. 08. 21 11:28, Petr Viktorin wrote:
Hi, A recent change "make html" in the Doc directory create a venv if one wasn't there before. If you don't want to download sphinx and other dependencies from PyPI, you'll need to adjust your workflow.
If you already have all the dependencies, the following command (in the CPython directory, not Doc) will build docs for you: sphinx-build Doc Doc/build/
The issue that added this is: https://bugs.python.org/issue44756
For what it's worth, I think that: - changes in the workflow should be discussed first - changes like this should not happen this late in the release cycle - a documented/supported way to build the docs with make without venv should exist (currently, running `mkdir venv` before `make ...` kinda works) -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
One of the most important things is that I was **not informed** about how
this affects the release
process and we ended up with a venv packaged in the tarball, unfortunately.
I agree that these changes should be notified to the release manager,
precisely to avoid these situations.
I am trying to republish the tarball without the venv.
Pablo
On Wed, 4 Aug 2021 at 10:53, Miro Hrončok
On 04. 08. 21 11:28, Petr Viktorin wrote:
Hi, A recent change "make html" in the Doc directory create a venv if one wasn't there before. If you don't want to download sphinx and other dependencies from PyPI, you'll need to adjust your workflow.
If you already have all the dependencies, the following command (in the CPython directory, not Doc) will build docs for you: sphinx-build Doc Doc/build/
The issue that added this is: https://bugs.python.org/issue44756
For what it's worth, I think that:
- changes in the workflow should be discussed first - changes like this should not happen this late in the release cycle - a documented/supported way to build the docs with make without venv should exist (currently, running `mkdir venv` before `make ...` kinda works)
-- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/ZY5IFBLA... Code of Conduct: http://python.org/psf/codeofconduct/
On 4 Aug 2021, at 11:48, Miro Hrončok
wrote: On 04. 08. 21 11:28, Petr Viktorin wrote:
Hi, A recent change "make html" in the Doc directory create a venv if one wasn't there before. If you don't want to download sphinx and other dependencies from PyPI, you'll need to adjust your workflow. If you already have all the dependencies, the following command (in the CPython directory, not Doc) will build docs for you: sphinx-build Doc Doc/build/ The issue that added this is: https://bugs.python.org/issue44756
For what it's worth, I think that:
- changes in the workflow should be discussed first - changes like this should not happen this late in the release cycle - a documented/supported way to build the docs with make without venv should exist (currently, running `mkdir venv` before `make ...` kinda works)
Sorry for the disruption, I approved the change. I didn't realize skipping the `venv` altogether was a viable build option and I've been making releases with docs for over two years now. For me this change was mostly a matter of convenience. If the current state is undesirable for downstream distributors, I can revert `make build` being explicitly dependent on `make venv`. Regardless of that, for future build-related changes I'll make sure to loop more people in. - Ł
On 06. 08. 21 12:21, Łukasz Langa wrote:
On 4 Aug 2021, at 11:48, Miro Hrončok
wrote: On 04. 08. 21 11:28, Petr Viktorin wrote:
Hi, A recent change "make html" in the Doc directory create a venv if one wasn't there before. If you don't want to download sphinx and other dependencies from PyPI, you'll need to adjust your workflow. If you already have all the dependencies, the following command (in the CPython directory, not Doc) will build docs for you: sphinx-build Doc Doc/build/ The issue that added this is: https://bugs.python.org/issue44756
For what it's worth, I think that:
- changes in the workflow should be discussed first - changes like this should not happen this late in the release cycle - a documented/supported way to build the docs with make without venv should exist (currently, running `mkdir venv` before `make ...` kinda works)
Sorry for the disruption, I approved the change. I didn't realize skipping the `venv` altogether was a viable build option and I've been making releases with docs for over two years now. For me this change was mostly a matter of convenience.
If the current state is undesirable for downstream distributors, I can revert `make build` being explicitly dependent on `make venv`.
The current state is OK-ish but fragile. There is a way to skip the venv creation by creating an empty venv directory. However, it is undocumented and implementation-dependent (read: it is a hack). If we have a supported way to do this, I wouldn't might the default changed (although, honestly I don't think this should have been backported to 3.9 at this point).
Regardless of that, for future build-related changes I'll make sure to loop more people in.
Thanks. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
What do you think about an environment variable?
USE_VENV=false make html
Maybe we can use a variable with a more explicit name so people can keep it
in their environments if they wish?
On Fri, Aug 6, 2021 at 7:19 AM Miro Hrončok
On 06. 08. 21 12:21, Łukasz Langa wrote:
On 4 Aug 2021, at 11:48, Miro Hrončok
wrote: On 04. 08. 21 11:28, Petr Viktorin wrote:
Hi, A recent change "make html" in the Doc directory create a venv if one
If you already have all the dependencies, the following command (in
wasn't there before. If you don't want to download sphinx and other dependencies from PyPI, you'll need to adjust your workflow. the CPython directory, not Doc) will build docs for you:
sphinx-build Doc Doc/build/ The issue that added this is: https://bugs.python.org/issue44756
For what it's worth, I think that:
- changes in the workflow should be discussed first - changes like this should not happen this late in the release cycle - a documented/supported way to build the docs with make without venv should exist (currently, running `mkdir venv` before `make ...` kinda works)
Sorry for the disruption, I approved the change. I didn't realize skipping the `venv` altogether was a viable build option and I've been making releases with docs for over two years now. For me this change was mostly a matter of convenience.
If the current state is undesirable for downstream distributors, I can revert `make build` being explicitly dependent on `make venv`.
The current state is OK-ish but fragile. There is a way to skip the venv creation by creating an empty venv directory. However, it is undocumented and implementation-dependent (read: it is a hack). If we have a supported way to do this, I wouldn't might the default changed (although, honestly I don't think this should have been backported to 3.9 at this point).
Regardless of that, for future build-related changes I'll make sure to loop more people in.
Thanks.
-- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/CTVVAVYO... Code of Conduct: http://python.org/psf/codeofconduct/
On Aug 6, 2021, at 08:11, Jack DeVries
What do you think about an environment variable?
USE_VENV=false make html
Maybe we can use a variable with a more explicit name so people can keep it in their environments if they wish?
I think this would compound the problems with this recent change. As I've just commented in the original issue, we have been down this road before and ended up reverting a similar venv dependency. I recommend reverting the change, certainly for 3.9 and 3.10 and possibly reconsidering something for 3.11. https://bugs.python.org/issue44756 -- Ned Deily nad@python.org -- []
participants (6)
-
Jack DeVries
-
Miro Hrončok
-
Ned Deily
-
Pablo Galindo Salgado
-
Petr Viktorin
-
Łukasz Langa