 
            On 10/24/2025 12:40 PM, Stephen J. Turnbull wrote:
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 $ *I don't have /opt/mailman3, it is /opt/mailman:
$ ls /opt/mailman/venv/lib/python3.12/site-packages/gunicorn app debug.py http __main__.py reloader.py util.py arbiter.py errors.py __init__.py pidfile.py sock.py workers config.py glogging.py instrument __pycache__ systemd.py
Do I need to specify a path somewhere?
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.
*I think the main thing is the MySQL stuff in settings.py:
<venv> pip install pymysql
Add lines:
import pymysql pymysql.install_as_MySQLdb()
At least so far.*
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
Mailman's content filtering has removed the following MIME parts from this message.
Replaced multipart/alternative part with first alternative.