Skip to content

Commit ed9df1c

Browse files
committed
gh-148750: Unfreeze encodings module to avoid import errors with zipped stdlib
1 parent f8c93d4 commit ed9df1c

6 files changed

Lines changed: 9 additions & 80 deletions

File tree

Makefile.pre.in

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,11 +1661,6 @@ FROZEN_FILES_IN = \
16611661
Lib/zipimport.py \
16621662
Lib/abc.py \
16631663
Lib/codecs.py \
1664-
Lib/encodings/__init__.py \
1665-
Lib/encodings/aliases.py \
1666-
Lib/encodings/utf_8.py \
1667-
Lib/encodings/_win_cp_codecs.py \
1668-
Lib/encodings/_iconv_codecs.py \
16691664
Lib/io.py \
16701665
Lib/_collections_abc.py \
16711666
Lib/_sitebuiltins.py \
@@ -1692,11 +1687,6 @@ FROZEN_FILES_OUT = \
16921687
Python/frozen_modules/zipimport.h \
16931688
Python/frozen_modules/abc.h \
16941689
Python/frozen_modules/codecs.h \
1695-
Python/frozen_modules/encodings.h \
1696-
Python/frozen_modules/encodings.aliases.h \
1697-
Python/frozen_modules/encodings.utf_8.h \
1698-
Python/frozen_modules/encodings._win_cp_codecs.h \
1699-
Python/frozen_modules/encodings._iconv_codecs.h \
17001690
Python/frozen_modules/io.h \
17011691
Python/frozen_modules/_collections_abc.h \
17021692
Python/frozen_modules/_sitebuiltins.h \
@@ -1746,21 +1736,6 @@ Python/frozen_modules/abc.h: Lib/abc.py $(FREEZE_MODULE_DEPS)
17461736
Python/frozen_modules/codecs.h: Lib/codecs.py $(FREEZE_MODULE_DEPS)
17471737
$(FREEZE_MODULE) codecs $(srcdir)/Lib/codecs.py Python/frozen_modules/codecs.h
17481738

1749-
Python/frozen_modules/encodings.h: Lib/encodings/__init__.py $(FREEZE_MODULE_DEPS)
1750-
$(FREEZE_MODULE) encodings $(srcdir)/Lib/encodings/__init__.py Python/frozen_modules/encodings.h
1751-
1752-
Python/frozen_modules/encodings.aliases.h: Lib/encodings/aliases.py $(FREEZE_MODULE_DEPS)
1753-
$(FREEZE_MODULE) encodings.aliases $(srcdir)/Lib/encodings/aliases.py Python/frozen_modules/encodings.aliases.h
1754-
1755-
Python/frozen_modules/encodings.utf_8.h: Lib/encodings/utf_8.py $(FREEZE_MODULE_DEPS)
1756-
$(FREEZE_MODULE) encodings.utf_8 $(srcdir)/Lib/encodings/utf_8.py Python/frozen_modules/encodings.utf_8.h
1757-
1758-
Python/frozen_modules/encodings._win_cp_codecs.h: Lib/encodings/_win_cp_codecs.py $(FREEZE_MODULE_DEPS)
1759-
$(FREEZE_MODULE) encodings._win_cp_codecs $(srcdir)/Lib/encodings/_win_cp_codecs.py Python/frozen_modules/encodings._win_cp_codecs.h
1760-
1761-
Python/frozen_modules/encodings._iconv_codecs.h: Lib/encodings/_iconv_codecs.py $(FREEZE_MODULE_DEPS)
1762-
$(FREEZE_MODULE) encodings._iconv_codecs $(srcdir)/Lib/encodings/_iconv_codecs.py Python/frozen_modules/encodings._iconv_codecs.h
1763-
17641739
Python/frozen_modules/io.h: Lib/io.py $(FREEZE_MODULE_DEPS)
17651740
$(FREEZE_MODULE) io $(srcdir)/Lib/io.py Python/frozen_modules/io.h
17661741

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
:mod:`encodings` is no longer frozen, due to issues importing submodules
2+
when using a zipped standard library.

PCbuild/_freeze_module.vcxproj

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -317,31 +317,6 @@
317317
<IntFile>$(IntDir)codecs.g.h</IntFile>
318318
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\codecs.h</OutFile>
319319
</None>
320-
<None Include="..\Lib\encodings\__init__.py">
321-
<ModName>encodings</ModName>
322-
<IntFile>$(IntDir)encodings.g.h</IntFile>
323-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.h</OutFile>
324-
</None>
325-
<None Include="..\Lib\encodings\aliases.py">
326-
<ModName>encodings.aliases</ModName>
327-
<IntFile>$(IntDir)encodings.aliases.g.h</IntFile>
328-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.aliases.h</OutFile>
329-
</None>
330-
<None Include="..\Lib\encodings\utf_8.py">
331-
<ModName>encodings.utf_8</ModName>
332-
<IntFile>$(IntDir)encodings.utf_8.g.h</IntFile>
333-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.utf_8.h</OutFile>
334-
</None>
335-
<None Include="..\Lib\encodings\_win_cp_codecs.py">
336-
<ModName>encodings._win_cp_codecs</ModName>
337-
<IntFile>$(IntDir)encodings._win_cp_codecs.g.h</IntFile>
338-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings._win_cp_codecs.h</OutFile>
339-
</None>
340-
<None Include="..\Lib\encodings\_iconv_codecs.py">
341-
<ModName>encodings._iconv_codecs</ModName>
342-
<IntFile>$(IntDir)encodings._iconv_codecs.g.h</IntFile>
343-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings._iconv_codecs.h</OutFile>
344-
</None>
345320
<None Include="..\Lib\io.py">
346321
<ModName>io</ModName>
347322
<IntFile>$(IntDir)io.g.h</IntFile>

PCbuild/_freeze_module.vcxproj.filters

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -558,21 +558,6 @@
558558
<None Include="..\Lib\codecs.py">
559559
<Filter>Python Files</Filter>
560560
</None>
561-
<None Include="..\Lib\encodings\__init__.py">
562-
<Filter>Python Files</Filter>
563-
</None>
564-
<None Include="..\Lib\encodings\aliases.py">
565-
<Filter>Python Files</Filter>
566-
</None>
567-
<None Include="..\Lib\encodings\utf_8.py">
568-
<Filter>Python Files</Filter>
569-
</None>
570-
<None Include="..\Lib\encodings\_win_cp_codecs.py">
571-
<Filter>Python Files</Filter>
572-
</None>
573-
<None Include="..\Lib\encodings\_iconv_codecs.py">
574-
<Filter>Python Files</Filter>
575-
</None>
576561
<None Include="..\Lib\io.py">
577562
<Filter>Python Files</Filter>
578563
</None>

Python/frozen.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@
4646
#include "frozen_modules/zipimport.h"
4747
#include "frozen_modules/abc.h"
4848
#include "frozen_modules/codecs.h"
49-
#include "frozen_modules/encodings.h"
50-
#include "frozen_modules/encodings.aliases.h"
51-
#include "frozen_modules/encodings.utf_8.h"
52-
#include "frozen_modules/encodings._win_cp_codecs.h"
53-
#include "frozen_modules/encodings._iconv_codecs.h"
5449
#include "frozen_modules/io.h"
5550
#include "frozen_modules/_collections_abc.h"
5651
#include "frozen_modules/_sitebuiltins.h"
@@ -82,11 +77,6 @@ static const struct _frozen stdlib_modules[] = {
8277
/* stdlib - startup, without site (python -S) */
8378
{"abc", _Py_M__abc, (int)sizeof(_Py_M__abc), false},
8479
{"codecs", _Py_M__codecs, (int)sizeof(_Py_M__codecs), false},
85-
{"encodings", _Py_M__encodings, (int)sizeof(_Py_M__encodings), true},
86-
{"encodings.aliases", _Py_M__encodings_aliases, (int)sizeof(_Py_M__encodings_aliases), false},
87-
{"encodings.utf_8", _Py_M__encodings_utf_8, (int)sizeof(_Py_M__encodings_utf_8), false},
88-
{"encodings._win_cp_codecs", _Py_M__encodings__win_cp_codecs, (int)sizeof(_Py_M__encodings__win_cp_codecs), false},
89-
{"encodings._iconv_codecs", _Py_M__encodings__iconv_codecs, (int)sizeof(_Py_M__encodings__iconv_codecs), false},
9080
{"io", _Py_M__io, (int)sizeof(_Py_M__io), false},
9181

9282
/* stdlib - startup, with site */

Tools/build/freeze_modules.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,13 @@
5050
('stdlib - startup, without site (python -S)', [
5151
'abc',
5252
'codecs',
53-
'<encodings>',
54-
'encodings.aliases',
55-
'encodings.utf_8',
56-
'encodings._win_cp_codecs',
57-
'encodings._iconv_codecs',
53+
# gh-148750: Partially freezing encodings causes import errors of
54+
# submodules when using a zipped standard library.
55+
#'<encodings>',
56+
#'encodings.aliases',
57+
#'encodings.utf_8',
58+
#'encodings._win_cp_codecs',
59+
#'encodings._iconv_codecs',
5860
'io',
5961
]),
6062
('stdlib - startup, with site', [

0 commit comments

Comments
 (0)