[Mailman-Users] Mailman 3 confusion

tlhackque tlhackque at yahoo.com
Sat Jun 17 17:14:29 EDT 2017


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....)






More information about the Mailman-Users mailing list