I took another look at installing Mailman 3, and ended up lost and confused. I'm an experienced software person - but my Python knowledge is minimal.
Fedora 25, python 3.5.3, pretty much out of the box. Mailman version: 3.1.0 (The other bits and pieces are current - 1.1) I tried to follow the documentation on http://docs.list.org/en/latest/prodsetup.html, http://mailman-3-installation.readthedocs.io/en/latest/production_install.html claims that the backend requires Python 3.4, but the frontend 2.7. Not clear if this is credible, but it's out there... https://wiki.list.org/Mailman3 points to Mark Sapiro's experience on https://wiki.list.org/DOC/Mailman%203%20installation%20experience This starts off with "For both installs I started with mailman-bundler." But https://gitlab.com/mailman/mailman-bundler says "All of this documentation is obsolete! Mailman Bundler is no longer recommended or supported. " So... I have yet to find a step-by-step 'bare OS to running MM3" document. I've run MM2.1 lists for years, it wasn't this hard to get started. Just install and edit one config file (plus the webserver.). I don't want to learn a zillion other technologies just to get started - e.g. But, I decided to see how far I could get. I tried this, based on pip search mailman: dnf install python3 python3-devel (gets 3.5.3) pip3 install mailman postorius mailmanclient HyperKitty mailman-hyperkitty KittyStore All went well until KittyStore, which (0.9.3 is what pip found) died with: Collecting storm (from KittyStore) Downloading storm-0.20.tar.bz2 (213kB) 100% |################################| 215kB 318kB/s Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-wzs03r_4/storm/setup.py", line 5, in <module> import ez_setup File "/tmp/pip-build-wzs03r_4/storm/ez_setup.py", line 106 except pkg_resources.VersionConflict, e: ^ SyntaxError: invalid syntax Well, set that aside, and install the rest, which seems to work. Try again with KittyStore, same failure. So maybe skip the archive for now. Try 'mailman info', another syntax error. Traceback (most recent call last): File "/usr/lib/python3.5/site-packages/zope/configuration/xmlconfig.py", line 272, in endElementNS self.context.end() File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 345, in end self.stack.pop().finish() File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 452, in finish args = toargs(context, *self.argdata) File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 794, in toargs args[str(name)] = field.fromUnicode(s) File "/usr/lib/python3.5/site-packages/zope/configuration/fields.py", line 73, in fromUnicode value = self.context.resolve(name) File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 151, in resolve mod = __import__(mname, *_import_chickens) File "/usr/lib/python3.5/site-packages/mailman/database/factory.py", line 22, in <module> import alembic.command File "/usr/lib/python3.5/site-packages/alembic/command.py", line 3, in <module> from .script import ScriptDirectory File "/usr/lib/python3.5/site-packages/alembic/script/__init__.py", line 1, in <module> from .base import ScriptDirectory, Script # noqa File "/usr/lib/python3.5/site-packages/alembic/script/base.py", line 2, in <module> from dateutil import tz File "/usr/lib/python3.5/site-packages/dateutil/tz.py", line 78 `self._name`, ^ SyntaxError: invalid syntax During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/mailman", line 9, in <module> load_entry_point('mailman==3.1.0', 'console_scripts', 'mailman')() File "/usr/lib/python3.5/site-packages/mailman/bin/mailman.py", line 97, in main initialize(config_path) File "/usr/lib/python3.5/site-packages/mailman/core/initialize.py", line 184, in initialize initialize_1(config_path) File "/usr/lib/python3.5/site-packages/mailman/core/initialize.py", line 101, in initialize_1 xmlconfig.string(zcml.decode('utf-8')) File "/usr/lib/python3.5/site-packages/zope/configuration/xmlconfig.py", line 513, in string processxmlfile(f, context) File "/usr/lib/python3.5/site-packages/zope/configuration/xmlconfig.py", line 295, in processxmlfile parser.parse(src) File "/usr/lib64/python3.5/xml/sax/expatreader.py", line 110, in parse xmlreader.IncrementalParser.parse(self, source) File "/usr/lib64/python3.5/xml/sax/xmlreader.py", line 125, in parse self.feed(buffer) File "/usr/lib64/python3.5/xml/sax/expatreader.py", line 210, in feed self._parser.Parse(data, isFinal) File "/builddir/build/BUILD/Python-3.5.3/Modules/pyexpat.c", line 468, in EndElement File "/usr/lib64/python3.5/xml/sax/expatreader.py", line 370, in end_element_ns self._cont_handler.endElementNS(pair, None) File "/usr/lib/python3.5/site-packages/zope/configuration/xmlconfig.py", line 281, in endElementNS None, sys.exc_info()[2]) File "/usr/lib/python3.5/site-packages/zope/configuration/_compat.py", line 38, in reraise raise value.with_traceback(tb) File "/usr/lib/python3.5/site-packages/zope/configuration/xmlconfig.py", line 272, in endElementNS self.context.end() File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 345, in end self.stack.pop().finish() File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 452, in finish args = toargs(context, *self.argdata) File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 794, in toargs args[str(name)] = field.fromUnicode(s) File "/usr/lib/python3.5/site-packages/zope/configuration/fields.py", line 73, in fromUnicode value = self.context.resolve(name) File "/usr/lib/python3.5/site-packages/zope/configuration/config.py", line 151, in resolve mod = __import__(mname, *_import_chickens) File "/usr/lib/python3.5/site-packages/mailman/database/factory.py", line 22, in <module> import alembic.command File "/usr/lib/python3.5/site-packages/alembic/command.py", line 3, in <module> from .script import ScriptDirectory File "/usr/lib/python3.5/site-packages/alembic/script/__init__.py", line 1, in <module> from .base import ScriptDirectory, Script # noqa File "/usr/lib/python3.5/site-packages/alembic/script/base.py", line 2, in <module> from dateutil import tz zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "<string>", line 65.2-69.6 SyntaxError: invalid syntax (tz.py, line 78) And the same traceback from 'mailman start' https://pythonhosted.org/mailman/src/mailman/docs/START.html refers to src/mailman/config/schema.cfg, /usr/lib/python3.5/site-packages/mailman/config/schema.cfg exists. http://docs.list.org/en/latest/prodsetup.html refers to "Your Django Site's settings.py". I don't have any (other) Django sites. "locate" turns up /usr/lib/python3.5/site-packages/django/conf/global_settings.py, but it looks to me as if Mailman needs one (or maybe one/list) Django site. Bottom line - I'd like to try Mailman 3 for a new project - especially since I pre-process inbound mail, and will have to speak LMTP. But I'm lost trying to follow the scattered docs that try to explain how to bring it up. Any pointers, or efforts to record a from-scratch install would be appreciated. Also, is version 3 supplying equivalents to the Mailman 2.1 list_lists and config_list utilities, or do I have to interface to the new REST API? (For the latter, I only really need to import and export the topics definitions....) ------------------------------------------------------ Mailman-Users mailing list Mailman-Users@python.org https://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: https://mail.python.org/mailman/options/mailman-users/archive%40jab.org