 
            dap1--- via Mailman-users writes:
I made all the suggested changes and now am down to the next layer of the onion when starting mailmanweb:
You should have gunicorn installed in your Mailman virtual environment. Here's what that looks like for me (your "/opt/mailman3" may vary, your "/.v" almost certainly does, the part from /lib on down should be the same except maybe for the minor version of python3):
$ ls /opt/mailman3/.v/lib/python3.13/site-packages/gunicorn/ __init__.py app debug.py http reloader.py util.py __main__.py arbiter.py errors.py instrument sock.py workers __pycache__ config.py glogging.py pidfile.py systemd.py $
gunicorn[53945]: ModuleNotFoundError: No module named 'gunicorn.app'; 'gunicorn' is not a package
This error message appears to be saying that the file __init__.py is missing (that's how Python defines a folder to be a package). It's also possible that the gunicorn package is installed somewhere other than Mailman's virtual environment, and so missing entirely from Mailman's virtual environment.
I hope all this gets added to the docs for the next poor sole that has to do this on Ubuntu. :-)
I'm not really sure what to add, except to recommend gunicorn instead of uwsgi. uwsgi is a FAQ because it's usually installed as a system package, and so has different ideas where things go in the file system from Mailman. uwsgi is not a Python app so can't be installed automatically in the virtual environment. uwsgi issues come up several times a year.
gunicorn has traditionally been unproblematic because it's a requirement of Mailman core anyway. When we figure out why your installation doesn't seem to have gunicorn, maybe there will be something to say.
Steve
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan