[Spambayes] Re: Trouble installing on rh7.3 and python 2.2

Skip Montanaro skip at pobox.com
Tue Aug 12 00:27:53 EDT 2003


    >> I believe I misspoke slightly about the earliest version containing
    >> True and False.  It appears the CVS change which added integer
    >> versions of True and False to Python/bltinmodule.c occurred about a
    >> week before the release of 2.2.1.  The minimum version required for
    >> SpamBayes at least w.r.t. True/False availability is thus 2.2.1.  I
    >> verified that they are available in 2.2.1 on creosote.  I don't have
    >> ready access to 2.2.  The website says 2.2 is the minimum and
    >> setup.py requires 2.2 or greater.  I'm sure this topic has come up
    >> before.  Should 2.2.1 be required as a minimum?  I'll gladly make the
    >> necessary changes.

    Tony> Isn't this what all the:
    Tony> """
    Tony> try:
    Tony>     True, False
    Tony> except NameError:
    Tony>     # Maintain compatibility with Python 2.2
    Tony>     True, False = 1, 0
    Tony> """
    Tony> code is about?  Unless 2.4.3 of the email package requires 2.2.1, in
    Tony> which case couldn't we dump all the above code?

    Tony> (It looked to my very ignorant eyes like the version of the email
    Tony> package installed (2.5) , not spambayes, needed a more recent
    Tony> version of Python installed).

That's what I get for not looking at the SpamBayes source during this
interchange!  Of course, that means that Russell's traceback which showed
True not being defined is suspicious:

    Traceback (most recent call last):
      File "pop3proxy.py", line 94, in ?
        from email.Header import Header
      File "/usr/lib/python2.2/site-packages/email/Header.py", line 11, in ?
        import email.base64MIME
      File "/usr/lib/python2.2/site-packages/email/base64MIME.py", line 31, in ?
        from email._compat22 import _floordiv
      File "/usr/lib/python2.2/site-packages/email/_compat22.py", line 41, in ?
        def body_line_iterator(msg, decode=False):
    NameError: name 'False' is not defined

or at least my original interpretation was.  Russell, back to you. ;-) Can
you double check the version of Python and the email package you are using?
The following should be sufficient:

    import sys
    print sys.version
    import email
    print email.__version__

Since the traceback is actually in the email package, I'm beginning to
suspect you are not running a recent enough version of that software.
Furthermore, I'm beginning to suspect that you tried running pop3proxy from
the source directory without first running

    python setup.py install

which would have warned about not recent enough versions.

Skip



More information about the Spambayes mailing list