[Mailman-Developers] need tutorial for setting up python development environment on Ubuntu please

Barry Warsaw barry at list.org
Fri May 4 06:54:49 CEST 2012


On May 03, 2012, at 09:20 PM, David wrote:

>After a full day of stuff like this:
>error: Installed distribution zope.interface 3.6.1 conflicts with
>requirement zope.interface>=3.8.0
>... I need a good tutorial on setting up the development environment,
>including whatever related tools are needed, to build and install Mailman
>3.0. Google hasn't turned up anything very helpful yet. I appreciate any
>recommendations.

For me, it depends on whether you want to develop mm3 or install it.

If you're going to develop it (i.e. fix bugs, work on features, etc), then
it's best to use the buildout infrastructure.  This is mainly because the test
suite is more or less tied to buildout at the moment.  So the steps to build
a development environment would be:

$ python bootstrap.py
$ bin/buildout

You'll need an internet connection so buildout can download all the stuff you
need from the Cheeseshop.  Once you've done that, look in bin/ for other
commands you can run, such as

 * `bin/test` to run the test suite, or parts of it
 * `bin/py` to give you a Python interpreter with the 'mailman' namespace
   accessible, but not loaded, and the system not initialized
 * `bin/mailman shell` to give you an interpreter prompt with the basic system
   initialized (i.e. database, Zope component architecture, loggers, etc.)

If instead you want to run Mailman 3, I recommend using virtualenv and
skipping buildout.  E.g.

$ virtualenv /some/path
$ source /some/path/bin/activate
$ python setup.py install

Now you can run `mailman info` to get some basic information about how your
system is configured, `mailman start` to start the system, etc.  I do
recommend creating an etc/mailman.cfg to customize various aspects of Mailman
before you start.  Take a look at src/mailman/config/schema.cfg and
.../mailman.cfg for the default settings.

>BTW, is Python 3 recommended for Mailman 3? I'm using 2.7 atm.

Mailman 3 is not compatible with Python 3 right now.  As soon as our
dependency stack is available for Python 3, I plan on porting Mailman 3 to
it.  That is very unlikely to happen until after 3.0 is released.  For now,
you can use Python 2.6 or 2.7.

Cheers,
-Barry


More information about the Mailman-Developers mailing list