GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [3.15] gh-141276: Avoid compiling zipimport source in get_filename (GH-153799) by miss-islington · Pull Request #159729 · python/cpython

Conversation

@miss-islington

@miss-islington miss-islington commented Oct 19, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

zipimporter.get_filename() compiled source modules just to work out the
module's file name. find_spec() calls it through spec_from_loader(), so
importing a source module from a ZIP archive compiled it twice and emitted
every SyntaxWarning twice.

get_filename() now returns before reading or compiling the source.
As a result, a SyntaxError in a zipped source module is now raised by
exec_module() rather than by find_spec() or get_filename(), and
the source isn't compiled twice during import, which matches
the filesystem-based loaders.
(cherry picked from commit 230917f)

Co-authored-by: Harjoth Khara [email protected]

  • Issue: Syntax warnings are duplicated in zipimport #141276

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@harjothkhara @miss-islington
pythongh-141276: Avoid compiling zipimport source in get_filename (py…
e424d21
…thonGH-153799)

`zipimporter.get_filename()` compiled source modules just to work out the
module's file name. `find_spec()` calls it through `spec_from_loader()`, so
importing a source module from a ZIP archive compiled it twice and emitted
every `SyntaxWarning` twice.

`get_filename()` now returns before reading or compiling the source.
As a result, a `SyntaxError` in a zipped source module is now raised by
`exec_module()` rather than by `find_spec()` or `get_filename()`, and
the source isn't compiled twice during import, which matches
the filesystem-based loaders.
(cherry picked from commit 230917f)

Co-authored-by: Harjoth Khara <[email protected]>
@miss-islington
miss-islington requested review from FFY00, brettcannon, ericsnowcurrently, ncoghlan and warsaw as code owners October 19, 2026 18:23
@bedevere-app bedevere-app Bot mentioned this pull request Oct 19, 2026
Syntax warnings are duplicated in zipimport #141276
Closed
@bedevere-app bedevere-app Bot added the awaiting review label Oct 19, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Oct 19, 2026
gh-141276: Avoid compiling zipimport source in get_filename #153799
Merged
@bedevere-app bedevere-app Bot added the topic-importlib label Oct 19, 2026
@read-the-docs-community

read-the-docs-community Bot commented Oct 19, 2026

Copy link
Copy Markdown

Documentation build overview

📚 cpython-previews | 🛠️ Build #35249809 | 📁 Comparing e424d21 against main (415ebff)

  🔍 Preview build  

141 files changed · + 1 added · ± 135 modified · - 5 deleted

+ Added

  • library/asyncio-policy.html

± Modified

  • index.html
  • license.html
  • py-modindex.html
  • builtins/exceptions.html
  • builtins/functions.html
  • builtins/stdtypes.html
  • c-api/bytes.html
  • c-api/capsule.html
  • c-api/complex.html
  • c-api/coro.html
  • and 125 more...

- Deleted

  • deprecations/pending-removal-in-3.21.html
  • library/tkinter.dialogs.html
  • library/tkinter.fontchooser.html
  • library/tkinter.systray.html
  • whatsnew/3.16.html
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

itamaro
itamaro approved these changes Oct 19, 2026
View reviewed changes
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting review labels Oct 19, 2026
@itamaro
itamaro enabled auto-merge (squash) October 19, 2026 18:30
@itamaro
itamaro merged commit 47e4ba6 into python:3.15 Oct 19, 2026
62 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting merge label Oct 19, 2026
@miss-islington
miss-islington deleted the backport-230917f-3.15 branch October 19, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@itamaro itamaro itamaro approved these changes
@brettcannon brettcannon Awaiting requested review from brettcannon brettcannon is a code owner
@ericsnowcurrently ericsnowcurrently Awaiting requested review from ericsnowcurrently ericsnowcurrently is a code owner
@ncoghlan ncoghlan Awaiting requested review from ncoghlan ncoghlan is a code owner
@warsaw warsaw Awaiting requested review from warsaw warsaw is a code owner
@FFY00 FFY00 Awaiting requested review from FFY00 FFY00 is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

topic-importlib

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@miss-islington @itamaro @harjothkhara
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.