I found a work around for the problem with the missing settings module. I modified:
/etc/systemd/system/mailmanweb.service
to add the PYTHONPATH environmental variable:
[Service] Environment="PYTHONPATH=/etc/mailman3/" User=mailman Group=mailman ExecStart=/usr/local/mailman3/bin/uwsgi --ini /etc/mailman3/uwsgi.ini
Now it starts up fine:
*** Starting uWSGI 2.0.19.1 (64bit) on [Tue May 11 09:38:47 2021] *** compiled with version: 8.3.1 20191121 (Red Hat 8.3.1-5) on 09 May 2021 00:39:19 os: Linux-4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 nodename: xxxxxx machine: x86_64 clock source: unix detected number of CPU cores: 12 current working directory: / detected binary path: /usr/local/mailman3/bin/uwsgi !!! no internal routing support, rebuild with pcre support !!! your processes number limit is 126645 your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes thunder lock: disabled (you can enable it with --thunder-lock) uwsgi socket 0 bound to TCP address 127.0.0.1:8000 fd 10 Python version: 3.8.3 (default, Aug 31 2020, 16:03:14) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] PEP 405 virtualenv detected: /usr/local/mailman3 Set PythonHome to /usr/local/mailman3 Python main interpreter initialized at 0x7e65a0 python threads support enabled your server socket listen backlog is limited to 100 connections your mercy for graceful operations on workers is 60 seconds mapped 250032 bytes (244 KB) for 4 cores *** Operational MODE: preforking+threaded *** added /etc/mailman3/ to pythonpath. WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7e65a0 pid: 207058 (default app) *** uWSGI is running in multiple interpreter mode *** spawned uWSGI master process (pid: 207058) spawned uWSGI worker 1 (pid: 207060, cores: 2) spawned uWSGI worker 2 (pid: 207062, cores: 2) [uwsgi-daemons] spawning "/usr/local/mailman3/bin/mailman-web qcluster" (uid: 1001 gid: 1001) 09:38:48 [Q] INFO Q Cluster oklahoma-thirteen-johnny-alpha starting. 09:38:48 [Q] INFO Process-1:1 ready for work at 207067 09:38:48 [Q] INFO Process-1:2 ready for work at 207068 09:38:48 [Q] INFO Process-1:3 ready for work at 207069 09:38:48 [Q] INFO Process-1:4 ready for work at 207070 09:38:48 [Q] INFO Process-1:5 ready for work at 207071 09:38:48 [Q] INFO Process-1:6 ready for work at 207072 09:38:48 [Q] INFO Process-1:7 ready for work at 207073 09:38:48 [Q] INFO Process-1:8 ready for work at 207074 09:38:48 [Q] INFO Process-1:9 ready for work at 207075 09:38:48 [Q] INFO Process-1:10 ready for work at 207076 09:38:48 [Q] INFO Process-1:11 ready for work at 207077 09:38:48 [Q] INFO Process-1:12 ready for work at 207078 09:38:48 [Q] INFO Process-1:13 monitoring at 207079 09:38:48 [Q] INFO Process-1 guarding cluster oklahoma-thirteen-johnny-alpha 09:38:48 [Q] INFO Process-1:14 pushing tasks at 207080 09:38:48 [Q] INFO Q Cluster oklahoma-thirteen-johnny-alpha running.