[Python-de] Spambayes und Python

Merlin Weisig m_weisig at wh2.tu-dresden.de
Fr Jul 15 18:15:35 CEST 2011


Hallo zusammen,

seit ein paar Tagen arbeitet mein Spambayes-Mailfilter gar nicht mehr.
Ich vermute, es hat was mit der Python-Version zu tun, denn Spambayes
setzt komplett auf Python2 auf.

Installiert hab ich

[root at weisig ~]# python2 -V
Python 2.7.2

mit Archlinux als Plattform.
In den Spambayes-Skripten steht auch überall als Beginn
#!/usr/bin/python2

Beim Aufruf von Spambayes zum Trainieren passiert folgendes:

merlin at weisig
/~/./Maildir/train_spambayes
Traceback (most recent call last):
  File "/usr/bin/sb_mboxtrain.py", line 349, in <module>
    main()
  File "/usr/bin/sb_mboxtrain.py", line 328, in main
    h = hammie.open(pck, usedb, "c")
  File "/usr/lib/python2.7/site-packages/spambayes/hammie.py", line 272,
in open
    return Hammie(storage.open_storage(filename, useDB, mode), mode)
  File "/usr/lib/python2.7/site-packages/spambayes/storage.py", line
998, in open_storage
    return klass(data_source_name, mode)
  File "/usr/lib/python2.7/site-packages/spambayes/storage.py", line
154, in __init__
    self.load()
  File "/usr/lib/python2.7/site-packages/spambayes/storage.py", line
180, in load
    self.dbm = dbmstorage.open(self.db_name, self.mode)
  File "/usr/lib/python2.7/site-packages/spambayes/dbmstorage.py", line
70, in open
    return f(db_name, mode)
  File "/usr/lib/python2.7/site-packages/spambayes/dbmstorage.py", line
40, in open_best
    return f(*args)
  File "/usr/lib/python2.7/site-packages/spambayes/dbmstorage.py", line
20, in open_dbhash
    return bsddb.hashopen(*args)
AttributeError: 'NoneType' object has no attribute 'hashopen'

Noch der Vollständigkeit halber das train-Skript:

#!/bin/sh
mv /home/merlin/Maildir/.MissedSpam/new/* \
        /home/merlin/Maildir/.MissedSpam/cur 2>/dev/null
mv /home/merlin/Maildir/.MissedHam/new/* \
        /home/merlin/Maildir/.MissedHam/cur 2>/dev/null
/usr/bin/sb_mboxtrain.py -d /home/merlin/.hammie.db \
        -g /home/merlin/Maildir/.MissedHam \
        -s /home/merlin/Maildir/.MissedSpam


Ich hab schon Goolge bemüht, allerdings dazu überhaupt nichts gefunden,
auch Spambayes hab ich schon neu installiert, ich habs sogar mit einer
älteren Version von Python (vor 01.06.11) probiert, weil seitdem lief es
bis vor wenigen Tagen anstandslos.

Hat noch jemand ein paar Denkanstöße auf Lager?

Es grüßt

Merlin


Mehr Informationen über die Mailingliste python-de