gh-148750: Unfreeze encodings module to avoid import errors with zipped stdlib (GH-156183)
zooba <[email protected]>
| Newsgroups | gmane.comp.python.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://github.com/python/cpython/commit/ee521e8ac19ad012ebc4e1b3e71b369988a9b9f8 commit: ee521e8ac19ad012ebc4e1b3e71b369988a9b9f8 branch: main author: Steve Dower <[email protected]> committer: zooba <[email protected]> date: 2026-08-24T20:19:30+01:00 summary: gh-148750: Unfreeze encodings module to avoid import errors with zipped stdlib (GH-156183) (Reverts fixes applied as part of gh-145278) files: A Misc/NEWS.d/next/Core_and_Builtins/2026-08-21-14-38-06.gh-issue-148750.xBijjR.rst M Makefile.pre.in M PCbuild/_freeze_module.vcxproj M PCbuild/_freeze_module.vcxproj.filters M Python/frozen.c M Tools/build/freeze_modules.py diff --git a/Makefile.pre.in b/Makefile.pre.in index d3d24a13898d992..cc7a27e5c7be474 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1661,11 +1661,6 @@ FROZEN_FILES_IN = \ Lib/zipimport.py \ Lib/abc.py \ Lib/codecs.py \ - Lib/encodings/__init__.py \ - Lib/encodings/aliases.py \ - Lib/encodings/utf_8.py \ - Lib/encodings/_win_cp_codecs.py \ - Lib/encodings/_iconv_codecs.py \ Lib/io.py \ Lib/_collections_abc.py \ Lib/_sitebuiltins.py \ @@ -1692,11 +1687,6 @@ FROZEN_FILES_OUT = \ Python/frozen_modules/zipimport.h \ Python/frozen_modules/abc.h \ Python/frozen_modules/codecs.h \ - Python/frozen_modules/encodings.h \ - Python/frozen_modules/encodings.aliases.h \ - Python/frozen_modules/encodings.utf_8.h \ - Python/frozen_modules/encodings._win_cp_codecs.h \ - Python/frozen_modules/encodings._iconv_codecs.h \ Python/frozen_modules/io.h \ Python/frozen_modules/_collections_abc.h \ Python/frozen_modules/_sitebuiltins.h \ @@ -1746,21 +1736,6 @@ Python/frozen_modules/abc.h: Lib/abc.py $(FREEZE_MODULE_DEPS) Python/frozen_modules/codecs.h: Lib/codecs.py $(FREEZE_MODULE_DEPS) $(FREEZE_MODULE) codecs $(srcdir)/Lib/codecs.py Python/frozen_modules/codecs.h -Python/frozen_modules/encodings.h: Lib/encodings/__init__.py $(FREEZE_MODULE_DEPS) - $(FREEZE_MODULE) encodings $(srcdir)/Lib/encodings/__init__.py Python/frozen_modules/encodings.h - -Python/frozen_modules/encodings.aliases.h: Lib/encodings/aliases.py $(FREEZE_MODULE_DEPS) - $(FREEZE_MODULE) encodings.aliases $(srcdir)/Lib/encodings/aliases.py Python/frozen_modules/encodings.aliases.h - -Python/frozen_modules/encodings.utf_8.h: Lib/encodings/utf_8.py $(FREEZE_MODULE_DEPS) - $(FREEZE_MODULE) encodings.utf_8 $(srcdir)/Lib/encodings/utf_8.py Python/frozen_modules/encodings.utf_8.h - -Python/frozen_modules/encodings._win_cp_codecs.h: Lib/encodings/_win_cp_codecs.py $(FREEZE_MODULE_DEPS) - $(FREEZE_MODULE) encodings._win_cp_codecs $(srcdir)/Lib/encodings/_win_cp_codecs.py Python/frozen_modules/encodings._win_cp_codecs.h - -Python/frozen_modules/encodings._iconv_codecs.h: Lib/encodings/_iconv_codecs.py $(FREEZE_MODULE_DEPS) - $(FREEZE_MODULE) encodings._iconv_codecs $(srcdir)/Lib/encodings/_iconv_codecs.py Python/frozen_modules/encodings._iconv_codecs.h - Python/frozen_modules/io.h: Lib/io.py $(FREEZE_MODULE_DEPS) $(FREEZE_MODULE) io $(srcdir)/Lib/io.py Python/frozen_modules/io.h diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-08-21-14-38-06.gh-issue-148750.xBijjR.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-08-21-14-38-06.gh-issue-148750.xBijjR.rst new file mode 100644 index 000000000000000..0f2388f2a53f70a --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-08-21-14-38-06.gh-issue-148750.xBijjR.rst @@ -0,0 +1,2 @@ +:mod:`encodings` is no longer frozen, due to issues importing submodules +when using a zipped standard library. diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj index 246a07785168161..3cd930e6d8e66d9 100644 --- a/PCbuild/_freeze_module.vcxproj +++ b/PCbuild/_freeze_module.vcxproj @@ -317,31 +317,6 @@ <IntFile>$(IntDir)codecs.g.h</IntFile> <OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\codecs.h</OutFile> </None> - <None Include="..\Lib\encodings\__init__.py"> - <ModName>encodings</ModName> - <IntFile>$(IntDir)encodings.g.h</IntFile> - <OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.h</OutFile> - </None> - <None Include="..\Lib\encodings\aliases.py"> - <ModName>encodings.aliases</ModName> - <IntFile>$(IntDir)encodings.aliases.g.h</IntFile> - <OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.aliases.h</OutFile> - </None> - <None Include="..\Lib\encodings\utf_8.py"> - <ModName>encodings.utf_8</ModName> - <IntFile>$(IntDir)encodings.utf_8.g.h</IntFile> - <OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.utf_8.h</OutFile> - </None> - <None Include="..\Lib\encodings\_win_cp_codecs.py"> - <ModName>encodings._win_cp_codecs</ModName> - <IntFile>$(IntDir)encodings._win_cp_codecs.g.h</IntFile> - <OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings._win_cp_codecs.h</OutFile> - </None> - <None Include="..\Lib\encodings\_iconv_codecs.py"> - <ModName>encodings._iconv_codecs</ModName> - <IntFile>$(IntDir)encodings._iconv_codecs.g.h</IntFile> - <OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings._iconv_codecs.h</OutFile> - </None> <None Include="..\Lib\io.py"> <ModName>io</ModName> <IntFile>$(IntDir)io.g.h</IntFile> diff --git a/PCbuild/_freeze_module.vcxproj.filters b/PCbuild/_freeze_module.vcxproj.filters index 35082f57f54e9d8..72f36691f4a143d 100644 --- a/PCbuild/_freeze_module.vcxproj.filters +++ b/PCbuild/_freeze_module.vcxproj.filters @@ -558,21 +558,6 @@ <None Include="..\Lib\codecs.py"> <Filter>Python Files</Filter> </None> - <None Include="..\Lib\encodings\__init__.py"> - <Filter>Python Files</Filter> - </None> - <None Include="..\Lib\encodings\aliases.py"> - <Filter>Python Files</Filter> - </None> - <None Include="..\Lib\encodings\utf_8.py"> - <Filter>Python Files</Filter> - </None> - <None Include="..\Lib\encodings\_win_cp_codecs.py"> - <Filter>Python Files</Filter> - </None> - <None Include="..\Lib\encodings\_iconv_codecs.py"> - <Filter>Python Files</Filter> - </None> <None Include="..\Lib\io.py"> <Filter>Python Files</Filter> </None> diff --git a/Python/frozen.c b/Python/frozen.c index 03ee612252343d8..9433d90c15e2eca 100644 --- a/Python/frozen.c +++ b/Python/frozen.c @@ -46,11 +46,6 @@ #include "frozen_modules/zipimport.h" #include "frozen_modules/abc.h" #include "frozen_modules/codecs.h" -#include "frozen_modules/encodings.h" -#include "frozen_modules/encodings.aliases.h" -#include "frozen_modules/encodings.utf_8.h" -#include "frozen_modules/encodings._win_cp_codecs.h" -#include "frozen_modules/encodings._iconv_codecs.h" #include "frozen_modules/io.h" #include "frozen_modules/_collections_abc.h" #include "frozen_modules/_sitebuiltins.h" @@ -82,11 +77,6 @@ static const struct _frozen stdlib_modules[] = { /* stdlib - startup, without site (python -S) */ {"abc", _Py_M__abc, (int)sizeof(_Py_M__abc), false}, {"codecs", _Py_M__codecs, (int)sizeof(_Py_M__codecs), false}, - {"encodings", _Py_M__encodings, (int)sizeof(_Py_M__encodings), true}, - {"encodings.aliases", _Py_M__encodings_aliases, (int)sizeof(_Py_M__encodings_aliases), false}, - {"encodings.utf_8", _Py_M__encodings_utf_8, (int)sizeof(_Py_M__encodings_utf_8), false}, - {"encodings._win_cp_codecs", _Py_M__encodings__win_cp_codecs, (int)sizeof(_Py_M__encodings__win_cp_codecs), false}, - {"encodings._iconv_codecs", _Py_M__encodings__iconv_codecs, (int)sizeof(_Py_M__encodings__iconv_codecs), false}, {"io", _Py_M__io, (int)sizeof(_Py_M__io), false}, /* stdlib - startup, with site */ diff --git a/Tools/build/freeze_modules.py b/Tools/build/freeze_modules.py index b29cc730ca8b24a..a866336fa78879e 100644 --- a/Tools/build/freeze_modules.py +++ b/Tools/build/freeze_modules.py @@ -50,11 +50,13 @@ ('stdlib - startup, without site (python -S)', [ 'abc', 'codecs', - '<encodings>', - 'encodings.aliases', - 'encodings.utf_8', - 'encodings._win_cp_codecs', - 'encodings._iconv_codecs', + # gh-148750: Partially freezing encodings causes import errors of + # submodules when using a zipped standard library. + #'<encodings>', + #'encodings.aliases', + #'encodings.utf_8', + #'encodings._win_cp_codecs', + #'encodings._iconv_codecs', 'io', ]), ('stdlib - startup, with site', [ _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]