
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@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@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

Merlin Weisig wrote:
[…] Beim Aufruf von Spambayes zum Trainieren passiert folgendes:
merlin@weisig /~/./Maildir/train_spambayes Traceback (most recent call last): […] 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'
^^^^^^^^^^^^^^^^^
[…] 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?
UTSL bzw. in Deinem Fall einfach den passenden Zauberspruch benutzen (SCNR).
Danke aber für den Hinweis auf Spambayes.

Am 22.07.2011 03:50, schrieb Thomas 'PointedEars' Lahn:
[...] bzw. in Deinem Fall einfach den passenden Zauberspruch benutzen (SCNR).
0_o
Beschwörend Quellcode anschauen hat anscheinend gewirkt. Man frag mich nich wie ich das gemacht hab (ich kanns wegen akuter Bastelwut und wilder Probiererei leider nicht mehr nachvollziehen), aber auf einmal arbeitet Spambayes wieder einwandfrei. Sachen gibts...
Grüße
Merlin
participants (2)
-
Merlin Weisig
-
Thomas 'PointedEars' Lahn