> If you upgrade from bullseye to bookworm, your python3 is upgraded from > 3.9 to 3.11. These are incompatible versions, and install libraries to > different paths (when you use pip3). > Anything installed with pip on 3.9 will not be importable in 3.11.
Thanks for the explanation. That explains bug ① (“an app module was dropped/lost”). Apparently that bug cannot realistically be remedied, although perhaps the release notes should cover this topic. I’m a bit confused because “pip3 list” shows a list of 146 packages, but not argostranslation. Why did all those other packages survive the upgrade? I wonder if some of them are somehow managed by apt. There are still 3 other bugs. > So, I'm afraid you're well out of the supported area of pip. > Sorry. Is it necessary for aptitude full-upgrade to withhold information from the user about package destruction or removal? Ideally users would get a loud warning when actions are taken that are expected to impact an installed package. If it’s a mission critical tool, users need to be able to back out of the upgrade and assess the consequences. I would also like to mention a fifth defect I just discovered: ⑤ argostranslate was only /partially/ removed. There are some big language files that were originally installed by argostranslate. The argostranslate executable survived the upgrade but not some of the modules it relies on, leaving it in a broken partially existent state with no information given to the user. The language packs remained in tact. I don’t know where on the filesystem they live, but when I installed argostranslate again the previous language packs were found and automatically available for use. In my case, this happened to be a benefit as it saved me from the effort of refetching the language files. But it’s probably not an favorable general behavior for packages to be partially removed. Ideally the user should receive a warning about pending removal and an option for a clean removal or a partial removal. The pip package manager has an uninstall procedure and since pip is the manager of the argostranslate package, users rely on it to keep track of the objects associated to the application. > Can I suggest using pipx for installing applications instead? It > actually understands this problem and has a "reinstall-all" feature to > help you recover from Python minor-version upgrades. I really appreciate the suggestion. I gave it a try. It had several issues, but it could very well turn out to be the lesser of evils. After several hurdles pipx was able to install argostranslate in the end.