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



Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

___________________________________________
Mailman's content filtering has removed the
following MIME parts from this message.

Replaced multipart/alternative part with first alternative.
_______________________________________________
Mailman-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at: 
https://lists.mailman3.org/archives/list/[email protected]/message/NRDYJXCTPMVD2J2NSG6J2RGR6UJ33FFN/

This message sent to [email protected]

Reply via email to