On 5/13/21 11:28 AM, Ruth Ivimey-Cook wrote:
Mark,
While the venv will to a degree isolate you, my experience of the upgrade from 18 to 20 was that python3.6 was uninstalled and 3.8 installed. In this scenario, the mailman3 installation is subsequently broken because there is no python to run.
Yes, I overlooked some aspects of virtualenv. Actually, the Python in the virtualenv is mostly symlinks to the Python it was built with, so whether it continues to work after a Python upgrade depends on what the symlinks are and how the Python upgrade installs.
It *is* possible to reinstall python3.6 after the dist upgrade is complete, and I would presume that after doing so mailman3 would probably resume ok. In my case I decided to continue using 3.8, which meant, in essence, rebuilding my mailman3 install -- not fun given my state of knowledge.
I would therefore appreciate some guidance on performing the upgrade from 3.6 to 3.8 with the minimum of fuss.
[I am not sure, but it could be possible to install python3.8 while using Ubuntu 18, so that the dist upgrade never breaks anything. Worth exploring.]
I haven't tested any of this, but I suspect if Python is for example, /usr/bin/python3.6 and /usr/lib/python3.6 the upgrade removes those and installs /usr/bin/python3.8 and /usr/lib/python3.8, that you could just create symlinks from /usr/bin/python3.6 and /usr/lib/python3.6 to /usr/bin/python3.8 and /usr/lib/python3.8 respectively and it would work.
On the other hand, if the symlinks in the venv are to things like /usr/bin/python3 and /usr/lib/python3 which used to point to 3.6 versions and after upgrade point to 3.8 versions, it should just work.
As far as installing Python3.8 on Ubuntu 18.04 goes, the machine I'm typing this on is Ubuntu 18.04 and has 6 different Python3 versions
mark@msapiro:~$ /usr/bin/python3.5 --version Python 3.5.2 mark@msapiro:~$ /usr/bin/python3.6 --version Python 3.6.9 mark@msapiro:~$ /usr/local/bin/python3.6 --version Python 3.6.12 mark@msapiro:~$ /usr/local/bin/python3.7 --version Python 3.7.9 mark@msapiro:~$ /usr/local/bin/python3.8 --version Python 3.8.7 mark@msapiro:~$ /usr/local/bin/python3.9 --version Python 3.9.1
and /usr/bin/python3 is a symlink to /usr/bin/python3.6 and /usr/local/bin/python3 is a symlink to /usr/local/bin/python3.9, so take your pick...
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan