Skip to content

How to upgrade (documentation), Preserve site-packages directories on upgrade (not fixed) #265

Closed as not planned

Description

@Questionsdenombres

Background

I have been working with py laucher on Windows for years.
I recently moved to pymanager: I installed it from Windows 11 store.
I uninstalled all python first, launcher and version.
I then installed Python 3.9 and 3.14.2 Ok.

I encounter issues when upgrading to 3.14.3 just realeased this week.

Issue #1

Probably a doc issue:

  • It wasn't clear how to run the upgrade.
  • pymanager help says; pymanager install : Download new Python runtimes, or pass --update to update existing installs.
  • So I executed: pymanager install --update 3.14.2
  • And it first looked ok: Python version is 3.14.3
  • ... but...

Issue #2

All the 3.14.2 pip loaded packages have been lost.
This was supposed to be fixed: #159
But it isn't ...

Thank you for your great job with Python.

Activity

  1. zooba commented on Feb 5, 2026

    @zooba
    Member

    You should have some logs in your %TEMP% directory for that update (they'll be marked as install logs, and the name should start with python). If you can share those, we can take a look.

    Failing that, please run py help and copy the first line here so we can see what version you're using. But the log would be preferred as it'll show if you've found a bug or not.

  2. Questionsdenombres commented on Feb 5, 2026

    @Questionsdenombres
    Author

    Hereafter content of python_install_20260203230352_15964.log:

    >> Writing logs to C:\Users\patri\AppData\Local\Temp\python_install_20260203230352_15964.log
    >> Python installation manager 25.2
    Copyright (c) Python Software Foundation. All Rights Reserved.
    
    BEGIN install_command.execute: ['3.14.3']
    Reading installs from C:\Users\patri\AppData\Local\Python
    Found 2 installs
    Calculating default install
    Filtering installs by tag = 3
    tag '3' matched 2 installs
    - 2 core install(s) by prefix
    default_platform '-64' matched 2 installs
    Default install will be pythoncore-3.14-64
    Searching https://www.python.org/ftp/python/index-windows.json
    >> Searching for Python matching 3.14.3
    Selecting package with tag=3.14.3 and platform=-64
    Fetching: https://www.python.org/ftp/python/index-windows.json
    winhttp_urlopen: https://www.python.org/ftp/python/index-windows.json
    Finding ['3.14.3-64'] to install
    >  Updating to Python 3.14.3.
    >> Tag: PythonCore\3.14-64
    Starting download package https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.zip to C:\Users\patri\AppData\Local\Python\_cache\pythoncore-3.14-64-3.14.3.zip
    >> Download was found in the cache. (Pass --force to ignore cached downloads.)
    Starting hash validation of C:\Users\patri\AppData\Local\Python\_cache\pythoncore-3.14-64-3.14.3.zip
    Calculating hashes: sha256
    sha256 digest: ec781bb03f9638d136b24da7c83b4db1652ce767848aa856a30bb87cfdb1abe4 (matched)
    Download skipped because C:\Users\patri\AppData\Local\Python\_cache\pythoncore-3.14-64-3.14.3.zip already exists
    Starting hash validation of C:\Users\patri\AppData\Local\Python\_cache\pythoncore-3.14-64-3.14.3.zip
    Calculating hashes: sha256
    sha256 digest: ec781bb03f9638d136b24da7c83b4db1652ce767848aa856a30bb87cfdb1abe4 (matched)
    >> Extracting C:\Users\patri\AppData\Local\Python\_cache\pythoncore-3.14-64-3.14.3.zip to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64
    Atomically removing these files first: python.exe, python3.dll, python314.dll, pythonw.exe, vcruntime140.dll, vcruntime140_1.dll, __install__.json
    Files successfully removed
    Starting extract of C:\Users\patri\AppData\Local\Python\_cache\pythoncore-3.14-64-3.14.3.zip to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64
    Updating from __install__.json in C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64
    Write __install__.json to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64
    >> Removing preserved directory at C:\Users\patri\AppData\Local\Python\_pythoncore-3.14-64
    !  Removing temporary files is taking some time. You can continue to wait or press Ctrl+C to abort. Python has been installed, but some harmless temporary files may remain on disk.
    >> Install complete
    Updating global shortcuts
    Reading installs from C:\Users\patri\AppData\Local\Python
    Found 2 installs
    Calculating default install
    Filtering installs by tag = 3
    tag '3' matched 2 installs
    - 2 core install(s) by prefix
    default_platform '-64' matched 2 installs
    Default install will be pythoncore-3.14-64
    Checking for launcher for platform -64
    Create python3.14.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcher-64.exe
    Checking for launcher for platform -64
    Create python3.14-64.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcher-64.exe
    Checking for launcher for platform -64
    Create python3.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcher-64.exe
    Checking for launcher for platform -64
    Create python3-64.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcher-64.exe
    Checking for launcher for platform -64
    Create pythonw3.14.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\pythonw.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcherw-64.exe
    Checking for launcher for platform -64
    Create pythonw3.14-64.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\pythonw.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcherw-64.exe
    Checking for launcher for platform -64
    Create pythonw3.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\pythonw.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcherw-64.exe
    Checking for launcher for platform -64
    Create pythonw3-64.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\pythonw.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcherw-64.exe
    Checking for launcher for platform -64
    Create python.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcher-64.exe
    Checking for launcher for platform -64
    Create pythonw.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\pythonw.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcherw-64.exe
    Creating/updating HKEY_CURRENT_USER\Software\Python\PythonCore\3.14
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\Python 3.14.lnk to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\Python 3.14 Online Documentation.lnk to https://docs.python.org/3.14/
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\IDLE (Python 3.14).lnk to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\pythonw.exe
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\PyDoc (Python 3.14).lnk to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\python.exe
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\Python 3.14 Manuals.lnk to C:\Users\patri\AppData\Local\Python\pythoncore-3.14-64\Doc\html\index.html
    Creating ARP entry for pymanager-pythoncore-3.14-64
    Searching C:\Users\patri\AppData\Local\Microsoft\WindowsApps for pymanager.exe
    Checking C:\Users\patri\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0\pymanager.exe
    Checking for launcher for platform -64
    Create python3.9.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.9-64\python.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcher-64.exe
    Checking for launcher for platform -64
    Create pythonw3.9.exe linking to C:\Users\patri\AppData\Local\Python\pythoncore-3.9-64\pythonw.exe using C:\Program Files\WindowsApps\PythonSoftwareFoundation.PythonManager_25.2.240.0_x64__qbz5n2kfra8p0\templates\launcherw-64.exe
    Creating/updating HKEY_CURRENT_USER\Software\Python\PythonCore\3.9
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.9\Python 3.9.lnk to C:\Users\patri\AppData\Local\Python\pythoncore-3.9-64\python.exe
    Creating shortcut C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.9\Python 3.9 Online Documentation.lnk to https://docs.python.org/3.9/
    Creating ARP entry for pymanager-pythoncore-3.9-64
    Cleaning up registry entries
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.11
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.12
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.13
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.14
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.14.0
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.7
    Skipping HKEY_CURRENT_USER\Software\Python\PythonCore\3.9
    Cleaning up Start menu shortcuts
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\IDLE (Python 3.14)
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.9
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.9\Python 3.9 Online Documentation
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\Python 3.14
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\Python 3.14 Online Documentation
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.9\Python 3.9
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\PyDoc (Python 3.14)
    Except: C:\Users\patri\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python\Python 3.14\Python 3.14 Manuals
    >  
    >  Global shortcuts directory is not on PATH. Add it for easy access to global Python aliases.
    >  Directory to add: C:\Users\patri\AppData\Local\Python\bin
    >  
    END install_command.execute
    
  3. zooba commented on Feb 5, 2026

    @zooba
    Member

    Thank you. It has indeed skipped preserving those directories, even though it should've. I'll have a play and see if I can identify why that happened, though it's worth noting that the code to do it has changed for the next release already, so it may be fixed. If I can't reproduce it, that's what I'm going to assume.

    There's a beta available at https://www.python.org/downloads/release/pymanager-260b1/ if you want to try it (or look at the top-right here for the latest beta if you're reading this after early Feb 2026).

  4. zooba commented on Apr 15, 2026

    @zooba
    Member

    I'm not able to get this behaviour, so I think there are two possibilities: either it was fixed in the code rewrite, or it can't be fixed in pre-existing installs but will work going forward with the new manager.

    Any further info to help prove that it continues to happen would be appreciated, but without that, I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions