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 — gh-104773: PEP 594: Remove the msilib package by zware · Pull Request #104911 · python/cpython

Conversation

@zware

@zware zware commented May 24, 2023 •
edited by github-actions Bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Member
  • Issue: PEP 594: Remove stdlib modules scheduled for deletion in Python 3.13 #104773

📚 Documentation preview 📚: https://cpython-previews--104911.org.readthedocs.build/

Sorry, something went wrong.

Uh oh!

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

All reactions
@zware
pythongh-104773: Remove the msilib package
69e0699
@bedevere-bot bedevere-bot added the awaiting core review label May 24, 2023
@bedevere-bot bedevere-bot mentioned this pull request May 24, 2023
PEP 594: Remove stdlib modules scheduled for deletion in Python 3.13 #104773
Closed
19 tasks done
@vstinner

vstinner commented May 25, 2023

Copy link
Copy Markdown
Member

msilib/__init__.py starts with from _msi import *: the _msi extension should be removed as well, no? Do you plan to remove it as a separated PR?

All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner

vstinner commented May 25, 2023

Copy link
Copy Markdown
Member

Note: The msilib module was used by the bdist_msi command of distutils, but this command was removed in Python 3.11, and the whole distutils package was removed in Python 3.12. See the bdist_msi deprecation in Python 3.9 for the rationale: issue #83767.

Now it's fine to remove this deprecated msilib module. Well, PEP 594 has a longer rationale.

All reactions

Sorry, something went wrong.

Uh oh!

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

vstinner
vstinner approved these changes May 25, 2023
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

The _msi extension can be removed in a separated PR.

Sorry, something went wrong.

Uh oh!

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

All reactions
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels May 25, 2023
@zware
fixup! pythongh-104773: Remove the msilib package
b342264
@vstinner

vstinner commented May 25, 2023

Copy link
Copy Markdown
Member

Using import msilib|from msilib regex, I found the following projects of PyPI top 5,000 projects (at 2023-04-13) using the removed msilib module.

Affected projects (2):

  • mpi4py (3.1.4)
  • pygame (2.3.0)
pygame-2.3.0/setup.py: import msilib
mpi4py-3.1.4/conf/mpidistutils.py: import msilib
All reactions

Sorry, something went wrong.

Uh oh!

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

@zware
zware requested a review from a team as a code owner May 25, 2023 00:12
@zware
zware requested a review from vstinner May 25, 2023 00:12
@vstinner

vstinner commented May 25, 2023

Copy link
Copy Markdown
Member

Does Tools\msi\build.bat use msilib module or _msi extension? Or does it use Windows tooling instead?

There is .github/workflows/build_msi.yml which runs Tools\msi\build.bat, but I don't know what triggers this GHA job. Is it when one file in Tools/msi/ is modified?

It may be interesting to check that these tools and/or this GHA job still work ;-)

All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner

vstinner commented May 25, 2023

Copy link
Copy Markdown
Member

Oh wait, I see a TestsMSI / Windows Installer (x64) (pull_request) In progress task running! It will tell us if it still works :-)

zware reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

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

vstinner
vstinner approved these changes May 25, 2023
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. The msilib LGTM. For the _msi removal, I'm not 100% confident that I can review the VS solution changes (but from what I saw, it LGTM as well).

Sorry, something went wrong.

Uh oh!

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

All reactions
@zware
zware merged commit 98c4333 into python:main May 25, 2023
@zware
zware deleted the no_more_msilib branch May 25, 2023 01:06
@bedevere-bot bedevere-bot removed the awaiting merge label May 25, 2023
@hugovk hugovk changed the title gh-104773: Remove the msilib package gh-104773: PEP 594: Remove the msilib package May 25, 2023
@Ahajha Ahajha mentioned this pull request Feb 9, 2024
CPython: Conan 2.0 conan-io/conan-center-index#21387
Merged
3 tasks done
@Ahajha Ahajha mentioned this pull request Nov 29, 2024
cpython: add 3.13.1 conan-io/conan-center-index#25536
Closed
dutow added a commit to dutow/conan-center-index that referenced this pull request Mar 30, 2026
@dutow
cpython: add patches for 3.13.12 and 3.14.3
6733dcb
Version-specific patches adapted from existing ones:

- relocatable-python-config: same change as 3.x-0001 but adjusted
  for line offset in 3.13+ python-config.sh.in (shared between
  3.13 and 3.14 since the file is identical)

- remove-module-deps: removes ProjectDependencies from the python
  project in PCbuild/pcbuild.sln (separate patches for 3.13 and
  3.14 due to different GUID sets)

- _ctypes-ffi (3.13 only): converts static formattable[] array to
  dynamic initialization for shared libffi compatibility. Not needed
  for 3.14 where this was fixed upstream by restructuring cfield.c
  into a named struct (python/cpython#117671)

The _msi-vcxproj patch is no longer needed since msilib was removed
in 3.13 per PEP 594 (python/cpython#104911).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@vstinner vstinner vstinner approved these changes

Uh oh!

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

Assignees

No one assigned

Labels

None yet

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

@zware @vstinner @bedevere-bot
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.