Skip to content

Commit 5886ba2

Browse files
authored
[3.15] gh-148750: Unfreeze encodings module to avoid import errors with zipped stdlib (GH-156183) (#156328)
1 parent 224db4e commit 5886ba2

6 files changed

Lines changed: 8 additions & 64 deletions

File tree

Makefile.pre.in

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1749,10 +1749,6 @@ FROZEN_FILES_IN = \
17491749
Lib/zipimport.py \
17501750
Lib/abc.py \
17511751
Lib/codecs.py \
1752-
Lib/encodings/__init__.py \
1753-
Lib/encodings/aliases.py \
1754-
Lib/encodings/utf_8.py \
1755-
Lib/encodings/_win_cp_codecs.py \
17561752
Lib/io.py \
17571753
Lib/_collections_abc.py \
17581754
Lib/_sitebuiltins.py \
@@ -1779,10 +1775,6 @@ FROZEN_FILES_OUT = \
17791775
Python/frozen_modules/zipimport.h \
17801776
Python/frozen_modules/abc.h \
17811777
Python/frozen_modules/codecs.h \
1782-
Python/frozen_modules/encodings.h \
1783-
Python/frozen_modules/encodings.aliases.h \
1784-
Python/frozen_modules/encodings.utf_8.h \
1785-
Python/frozen_modules/encodings._win_cp_codecs.h \
17861778
Python/frozen_modules/io.h \
17871779
Python/frozen_modules/_collections_abc.h \
17881780
Python/frozen_modules/_sitebuiltins.h \
@@ -1832,18 +1824,6 @@ Python/frozen_modules/abc.h: Lib/abc.py $(FREEZE_MODULE_DEPS)
18321824
Python/frozen_modules/codecs.h: Lib/codecs.py $(FREEZE_MODULE_DEPS)
18331825
$(FREEZE_MODULE) codecs $(srcdir)/Lib/codecs.py Python/frozen_modules/codecs.h
18341826

1835-
Python/frozen_modules/encodings.h: Lib/encodings/__init__.py $(FREEZE_MODULE_DEPS)
1836-
$(FREEZE_MODULE) encodings $(srcdir)/Lib/encodings/__init__.py Python/frozen_modules/encodings.h
1837-
1838-
Python/frozen_modules/encodings.aliases.h: Lib/encodings/aliases.py $(FREEZE_MODULE_DEPS)
1839-
$(FREEZE_MODULE) encodings.aliases $(srcdir)/Lib/encodings/aliases.py Python/frozen_modules/encodings.aliases.h
1840-
1841-
Python/frozen_modules/encodings.utf_8.h: Lib/encodings/utf_8.py $(FREEZE_MODULE_DEPS)
1842-
$(FREEZE_MODULE) encodings.utf_8 $(srcdir)/Lib/encodings/utf_8.py Python/frozen_modules/encodings.utf_8.h
1843-
1844-
Python/frozen_modules/encodings._win_cp_codecs.h: Lib/encodings/_win_cp_codecs.py $(FREEZE_MODULE_DEPS)
1845-
$(FREEZE_MODULE) encodings._win_cp_codecs $(srcdir)/Lib/encodings/_win_cp_codecs.py Python/frozen_modules/encodings._win_cp_codecs.h
1846-
18471827
Python/frozen_modules/io.h: Lib/io.py $(FREEZE_MODULE_DEPS)
18481828
$(FREEZE_MODULE) io $(srcdir)/Lib/io.py Python/frozen_modules/io.h
18491829

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 & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -314,26 +314,6 @@
314314
<IntFile>$(IntDir)codecs.g.h</IntFile>
315315
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\codecs.h</OutFile>
316316
</None>
317-
<None Include="..\Lib\encodings\__init__.py">
318-
<ModName>encodings</ModName>
319-
<IntFile>$(IntDir)encodings.g.h</IntFile>
320-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.h</OutFile>
321-
</None>
322-
<None Include="..\Lib\encodings\aliases.py">
323-
<ModName>encodings.aliases</ModName>
324-
<IntFile>$(IntDir)encodings.aliases.g.h</IntFile>
325-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.aliases.h</OutFile>
326-
</None>
327-
<None Include="..\Lib\encodings\utf_8.py">
328-
<ModName>encodings.utf_8</ModName>
329-
<IntFile>$(IntDir)encodings.utf_8.g.h</IntFile>
330-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.utf_8.h</OutFile>
331-
</None>
332-
<None Include="..\Lib\encodings\_win_cp_codecs.py">
333-
<ModName>encodings._win_cp_codecs</ModName>
334-
<IntFile>$(IntDir)encodings._win_cp_codecs.g.h</IntFile>
335-
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings._win_cp_codecs.h</OutFile>
336-
</None>
337317
<None Include="..\Lib\io.py">
338318
<ModName>io</ModName>
339319
<IntFile>$(IntDir)io.g.h</IntFile>

PCbuild/_freeze_module.vcxproj.filters

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -549,18 +549,6 @@
549549
<None Include="..\Lib\codecs.py">
550550
<Filter>Python Files</Filter>
551551
</None>
552-
<None Include="..\Lib\encodings\__init__.py">
553-
<Filter>Python Files</Filter>
554-
</None>
555-
<None Include="..\Lib\encodings\aliases.py">
556-
<Filter>Python Files</Filter>
557-
</None>
558-
<None Include="..\Lib\encodings\utf_8.py">
559-
<Filter>Python Files</Filter>
560-
</None>
561-
<None Include="..\Lib\encodings\_win_cp_codecs.py">
562-
<Filter>Python Files</Filter>
563-
</None>
564552
<None Include="..\Lib\io.py">
565553
<Filter>Python Files</Filter>
566554
</None>

Python/frozen.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +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"
5349
#include "frozen_modules/io.h"
5450
#include "frozen_modules/_collections_abc.h"
5551
#include "frozen_modules/_sitebuiltins.h"
@@ -81,10 +77,6 @@ static const struct _frozen stdlib_modules[] = {
8177
/* stdlib - startup, without site (python -S) */
8278
{"abc", _Py_M__abc, (int)sizeof(_Py_M__abc), false},
8379
{"codecs", _Py_M__codecs, (int)sizeof(_Py_M__codecs), false},
84-
{"encodings", _Py_M__encodings, (int)sizeof(_Py_M__encodings), true},
85-
{"encodings.aliases", _Py_M__encodings_aliases, (int)sizeof(_Py_M__encodings_aliases), false},
86-
{"encodings.utf_8", _Py_M__encodings_utf_8, (int)sizeof(_Py_M__encodings_utf_8), false},
87-
{"encodings._win_cp_codecs", _Py_M__encodings__win_cp_codecs, (int)sizeof(_Py_M__encodings__win_cp_codecs), false},
8880
{"io", _Py_M__io, (int)sizeof(_Py_M__io), false},
8981

9082
/* stdlib - startup, with site */

Tools/build/freeze_modules.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,12 @@
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',
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',
5759
'io',
5860
]),
5961
('stdlib - startup, with site', [

0 commit comments

Comments
 (0)