OK, so I gave it a try (finally). The following is a summary of what the experience felt like. I hope that’s useful - I don’t think it really justifies creating a bunch of small issues (although I’ll happily do so if there are particular points that warrant it).
My PC has all of Python 3.8 - 3.13 installed from the official Python installers. I don’t have the Windows Store Python installed, but I did disable the python.exe
and python3.exe
app aliases, so they wouldn’t start up Windows Store. Not a typical situation, but not incredibly far from vanilla.
I installed the manager from the python.org link. It installed successfully, and then installed Python 3.14b1. So far, so good. Of course, now the old py
launcher defaults to 3.14b0, which sucks, but is a known problem with the old launcher.
The python
and python3
commands still don’t work. I assume that’s because I manually disabled them, but it’s still annoying. Turning them off because the store is not what you want them to do seems like a rather normal thing to do. But I guess that’s something we have no control over Anyway, I re-enabled them. But that’s no use, they still start the Store. Surely that’s not the intended behaviour? I’d have wanted them to now run the newly installed Python via the manager, as that was the advertised behaviour.
Ah, I see. There’s two app aliases for python
- “Python (default)” and “App Installer”. Again, not easy to understand, but I guess not something we can fix. Maybe some docs around this (and some help text on first install) would be useful?
Now Python runs 3.14b1. I did pymanager install 3.13
and it says it’s installed but “A runtime matching PythonCore\3.13 is already installed, and so the new one has not been registered”. Fair enough, I didn’t want to remove the old 3.13 just yet, as I have a pipx setup to sort out first. But it also says that the python
alias will now run 3.13, and that’s not true. It still runs 3.14b1. Do I have to uninstall the old MSI-based 3.13 to use the new one?
My concern here is that I have a bunch of stuff set up with pipx
, and I’ll need the old Python to run them, at least until I recreate the venvs. But I can’t run pipx under the new 3.13, because it’s not accessible until I remove the old 3.13. After some more exploring, it seems that pymanager exec -3.13
works to start the new 3.13.
So pymanager exec -3.13 .../pipx.pyz reinstall-all
seems to have done what I needed it to.
I tried uninstalling 3.12. It uninstalled fine, but pymanager install 3.12
said “An existing registry key for PythonCore\3.12 was renamed to 3.12.0 because it appeared to be invalid”. It also mentioned that same message about 3.13 again (why? I’m trying to install 3.12). And python
still runs 3.14b0, not 3.12. In this case the message didn’t claim python
would run 3.12, so I guess that’s fair (although when it said it would run 3.13, that was a lie, so I’m suspicious at this point).
So I guess I now have questions.
- How do I fix 3.12, as I seem to still have stuff from the old 3.12 installation present?
- Can I safely uninstall 3.13? I fear it’ll do the same as 3.12 did.
- Can I fix the new 3.13 to work via
python
without having to delete the old one? - How do I set the default Python to not be 3.14b0? I thought the new manager was going to prefer final releases over betas.
- More generally, can I change the default for the
python
command? I don’t really care as long as it defaults to the latest final release, but it seems like something people might want to do.
I think I might have to uninstall everything and tidy up for now. I don’t want a system where the new beta version is my default Python - that’s going to mess too many things up
As I said, I hope this helps. If there are specific items that are worth raising on the tracker, I’ll happily do so. Also, I’m more interested in what the “official” advice to help users in this position should be - I’m in a privileged position, as I can beg @steve.dower directly for help, and in any case, I’m perfectly capable of hacking my registry, uninstalling and cleaning up, and getting things working. I can personally sort things out without hand-holding. My aim here is more to describe a scenario that could come up for someone not in my position, so we can improve the initial experience.