This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2021年09月13日 20:44 by eric.snow, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 28322 | merged | steve.dower, 2021年09月13日 23:51 | |
| PR 28335 | merged | eric.snow, 2021年09月14日 16:09 | |
| Messages (10) | |||
|---|---|---|---|
| msg401731 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2021年09月13日 20:44 | |
Currently for Windows builds, generating the frozen modules depends on first building python.exe. One consequence of this is that we must keep all frozen module .h files in the repo (which we'd like to avoid for various reasons). We should be able to freeze modules before building python.exe, like we already do via our Makefile. From what I understand, this will require that a subset of the runtime be separately buildable so we can use it in _freeze_module.c and use that before actually building python.exe. @Steve, please correct any details I got wrong here. :) |
|||
| msg401735 - (view) | Author: Steve Dower (steve.dower) * (Python committer) | Date: 2021年09月13日 20:59 | |
Only thing I'd add is that you should just be able to list the required .c files in _freeze_module.vcxproj (formerly known as freeze_importlib.vcxproj) rather than depending on pythoncore.vcxproj. That will generate twice as many .obj files for those modules (which is fine, just takes a little more time at build), and will force everything to be regenerated if you modify them, but that's an expected part of having part of the interpreter depend upon itself. |
|||
| msg401849 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2021年09月15日 16:19 | |
New changeset cbeb81971057d6c382f45ecce92df2b204d4106a by Eric Snow in branch 'main': bpo-45020: Freeze some of the modules imported during startup. (gh-28335) https://github.com/python/cpython/commit/cbeb81971057d6c382f45ecce92df2b204d4106a |
|||
| msg401859 - (view) | Author: Steve Dower (steve.dower) * (Python committer) | Date: 2021年09月15日 17:11 | |
New changeset 09b4ad11f323f8702cde795e345b75e0fbb1a9a5 by Steve Dower in branch 'main': bpo-45188: Windows now regenerates frozen modules at the start of build instead of late (GH-28322) https://github.com/python/cpython/commit/09b4ad11f323f8702cde795e345b75e0fbb1a9a5 |
|||
| msg401868 - (view) | Author: Guido van Rossum (gvanrossum) * (Python committer) | Date: 2021年09月15日 17:56 | |
Is this now done? I.e. can we now drop the frozen .h files from the repo? |
|||
| msg401877 - (view) | Author: Steve Dower (steve.dower) * (Python committer) | Date: 2021年09月15日 18:32 | |
Should be able to, yeah. Though I didn't test that. |
|||
| msg401882 - (view) | Author: Guido van Rossum (gvanrossum) * (Python committer) | Date: 2021年09月15日 18:49 | |
I tried this: - remove the generated .h files - touched dictobject.c - touched dictobject.h After each step I tried to rebuild. Each case the compilation of frozen.c failed and then the build stopped, so apparently the .h files weren't generated early enough. Here's the error message: C:\Users\gvanrossum\cpython\Python\frozen.c(44,10): fatal error C1083: Cannot open include file: 'frozen_modules/abc. h': No such file or directory [C:\Users\gvanrossum\cpython\PCbuild\pythoncore.vcxproj] |
|||
| msg401907 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2021年09月15日 21:08 | |
FYI, I have a PR up for dropping the .h files: https://github.com/python/cpython/pull/28375. |
|||
| msg401908 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2021年09月15日 21:08 | |
Can we close this? |
|||
| msg401909 - (view) | Author: Guido van Rossum (gvanrossum) * (Python committer) | Date: 2021年09月15日 21:12 | |
We can once GH-28375 lands. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:49 | admin | set | github: 89351 |
| 2021年09月16日 01:15:56 | eric.snow | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2021年09月15日 21:12:26 | gvanrossum | set | messages: + msg401909 |
| 2021年09月15日 21:08:37 | eric.snow | set | messages: + msg401908 |
| 2021年09月15日 21:08:16 | eric.snow | set | messages: + msg401907 |
| 2021年09月15日 18:49:26 | gvanrossum | set | messages: + msg401882 |
| 2021年09月15日 18:32:27 | steve.dower | set | messages: + msg401877 |
| 2021年09月15日 17:56:13 | gvanrossum | set | nosy:
+ gvanrossum messages: + msg401868 |
| 2021年09月15日 17:11:19 | steve.dower | set | messages: + msg401859 |
| 2021年09月15日 16:19:37 | eric.snow | set | messages: + msg401849 |
| 2021年09月14日 16:09:35 | eric.snow | set | pull_requests: + pull_request26747 |
| 2021年09月13日 23:51:43 | steve.dower | set | keywords:
+ patch stage: needs patch -> patch review pull_requests: + pull_request26731 |
| 2021年09月13日 20:59:55 | steve.dower | set | nosy:
+ paul.moore, tim.golden, zach.ware messages: + msg401735 components: + Windows |
| 2021年09月13日 20:48:21 | eric.snow | link | issue45020 dependencies |
| 2021年09月13日 20:44:06 | eric.snow | create | |