Python install manager 25.1 beta 1

Today we’ve released the first beta of the next Python install manager release (for Windows).

Changes are minimal, but worth testing before distributing widely (especially since most users will automatically update to the next stable release):

  • fixes to pythonw commands in file shebangs (e.g. #! pythonw3.14 now behaves properly)
  • improved text in first run setup
  • new first run check for users without the current latest release (more below)
  • versioned shortcuts (e.g. the generated python3.14.exe) are now hard links and not copies
  • platform detection added (for future support of ARM64 by default)
  • “Welcome to (next version)” message now goes to standard error instead of output (and never shows for py list -1 ... commands, which are expected to be frequently captured and used)

When the install manager is first run from the Store or installer, we would check if there were any other Python runtimes installed, and if not then we would offer to install the current latest. This meant that someone with 3.13 installed would not get 3.14 automatically, and wouldn’t even be offered it. With the new check, we check if a copy of the latest release is already installed, and if not, will prompt to install it.

The displayed text reads:

You do not have the latest Python runtime.

Install the current latest version of CPython? If not, you can use ‘py install default’ later to install.

Install CPython now? [y/N]

The message is static and doesn’t “know” what the latest version will be, which is why it doesn’t list it. We do a match to all the bundled versions, rather than embedding any particular version number into the executable, so that if someone rebundles the install manager with their own set of packages it will still work. Our MSI installer doesn’t bundle any runtimes, so those users will never see this message.

Installing the beta

We aren’t automatically updating anyone into this beta, and it isn’t available on the Store (though we could put it there and roll it out to a % of users… thoughts?).

To install it, you need to uninstall your existing install manager (which leaves your configuration and runtimes in place), and then install from the MSIX at the link above. That will reconfigure your automatic updates to get beta releases and the next stable release. It should keep getting betas after that, but then it might go back to only getting stable releases.[1]

As usual, any feedback to python/pymanager. My plan is to make a stable release within 3-4 weeks, but that’s entirely open to rescheduling based on feedback.


  1. It depends on a Windows behaviour that I think is unintentional, so could change. Similarly, behaviour will get weird if you don’t uninstall the existing stable release first, because of 2-3 other edge cases that might change in the OS. ↩︎

11 Likes

It looks like the link to the MSIX installer is pointing to the wrong version. The file name is 20.0b1 instead of 25.1.b1. When I manually adjust the download url, I get the correct file and the MD5 hash matches.

1 Like

Thanks! Fixed now (I need to write the script to automatically update those URLs… that was a typo by me)

2 Likes