On 10/26/22 13:48, Odhiambo Washington wrote:
Ideally, `pip` shouldn't have allowed you to install aiosmtpd in a Python venv with 3.10, but that depends on which version of pip you are using since the newer versions have better support for such management.
I followed the HOWTO by the late BC <https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10> for my installation. I did not have to choose any specific version of pip. I just used what was in the system at that time, which was based on the Python version on the system.
So, actually, it isn't the fault of pip or yours. I check aiosmtpd and it doesn't declare an upper bound on the supported python versions since when the last release came out, the max version was 3.9 and it supported that. There hasn't been a release since 3.10 came out.
> 2. Is it possible to downgrade the Python in a Venv down to 3.9 without > breaking the installation? You can keep the current installation running and create a 2nd installation by simply creating a 2nd venv with 3.9. Something like, `/opt/mailman/mm/venv-3.9/`. You can install things into that venv and when you are done and ready to switch, you can update all the paths in various places to use update 'venv-3.9' instead of 'venv'.
That procedure seems way too much work for someone not so well versed with the PATHs used in MM3. Since I don't remember ever having to install aiosmtpd (not even sure what it is!) I believe I should not worry.
You basically just need to follow the install instructions again, skipping any parts about creating configs, data mta etc. with the new path to venv.
'pip3 list | grep smtpd' yielded nothing in my install. Is that expected? Or aiosmtpd is part of the core?
Yes, it is a dependency of Core and you _should_ find it in the venv. Not sure if you have that activated, but it should result in an installed package if you are inside venv.
In case you encounter any issues, you can always revert back to older 'venv' in the paths wherever the are needed and bring back the old install. Venvs are good for multiple installs so you can switch back and forth pretty easily.
Talking of moving between VENVs, you did not mention about migrating the lists/list data between then :-)
You don't need to migrate lists, as long as you keep the same configs & database, the 2nd install will just pickup the old data. Make sure you aren't downgrading the version of Mailman though when switching between VMs (which typically won't happen if you just use "pip install", unless you specify version constraints like mailman==3.3.0 for old versions).
> > And finally, is there documentation/procedure to upgrade a VENV install > in this case? You don't want to upgrade venv is what i've heard, you should always create a new one if you are bumping python versions.
Noted. And only Python versions, right? Like 3.10 to 3.11?
Yes, only Python versions! Packages inside can be upgraded.
(3) Upgrade package Finally, upgrade your packages:
Here, I am a little confused. The official MM3 documentation says the below: *(venv) $ pip install -U mailman postorius django-mailman3 hyperkitty mailman-web*
However, thee howto by BC, there was no installation for django-mailman3 and mailman-web. So I am unable to map 1:1 what needs to be done to upgrade to these 5 components of 1. Mailman Core 3.3.6 [1] 2. Postorius 1.3.7 [2] 3. Hyperkitty 1.3.6 [3] 4. Mailmanclient 3.3.4 [4] 5. Django-mailman3 1.3.8 [5]
What should I add to the command line below so that everything is updated?
(venv) mailman@lists:~$ pip install -U mailman postorius hyperkitty mailman-hyperkitty
This will work!
Yeah, basically upgrade only the packages you installed previously. The official documentation asks you to explicitly specify all Mailman packages (even the downstream libraries like django-mailman3 and mailmanclient, which will already be upgraded when you install new version of Postorius or Hyperkitty) and mailman-web. You probably don't need "mailman-web".
I'd recommend just specifying all the released packages, except mailman-web since you aren't using that.
Sorry to bother you so much.
No worries :-)
-- thanks, Abhilash Raj (maxking)