Of course, if you start from a new Trixie base system and reinstall all your venvs and software from scratch, everything should work. You will have also spent an unbelievably large amount of time redoing everything you did for the Bookworm update, to no particularly productive purpose. This particular beta was specifically about upgrading in situ, which means to me that your implied 'do it all over from scratch' advice is not really relevant.Using venvs won't help Python 3.13 find modules to use when they have only been installed for Python 3.11 to use.Interesting. But I though the entire point of (mandatory) venvs was to avoid this sort of issue. Or am I wrong?On a hunch, I changed the name of the Python folder within the venv's lib folder from python3.11 to python3.13 ...
If you want to use Python 3.11 you need to install the modules for 3.11
If you want to use Python 3.13 you need to install the modules for 3.13
If you want to use both you need to install modules for both 3.11 and 3.13 separately.
Each Python will only use modules installed for it or modules installed for any Python to use. Switch Pythons and each will only use the modules installed and available for it - That's venvs working properly as I see it.
I can't criticise hacking the names of folders to make things work but that suggests what has been done isn't being done in the correct way. I am not entirely sure what the correct way would be but it feels to me like Python 3.13 should have been activated, then the 'mariadb' module should have been installed for 3.13. Then everything should have just worked.
Forgive me if I am wrong but my reading of it is that Python 3.13 was activated and was expected to work with 3.11 modules which it won't. Then folder names were hacked rather than installing the module for 3.13.
Likewise installing 'weewx' with Python 3.13 active should deliver a 'weewx' for 3.13 use with all the sub-folders named to be usable with Python 3.13. But I haven't tried it. If it doesn't I would suspect something fundamental hasn't been correctly configured.
The real problem here is that the venv approach, at least by default, uses the system-installed version of python (the links within the venv's /bin directory simply point to the system-installed files), and then apparently 'stamps' the downloaded libraries with the active python version number at the time of its creation. There is some logic to this, but, if you are going to go to this extent to ensure compatibility, it would make a lot more sense to actually include the current python code in the venv. While my specific issue arose from the Trixie upgrade, which includes a python upgrade from 3.11 to 3.13, it is at least theoretically possible that a python upgrade might occur outwith an OS upgrade, presumably causing death and destruction for software running in any venv created before the python upgrade.
Statistics: Posted by pfletch101 — Sat Aug 23, 2025 4:43 pm