bsddb module is deprecated and will be removed in future versions.
It should be noted that files created using anydbm.open(FILE) when bsddb was installed, will have chosen that backend and will now fail as follows:
plasma python # etc-proposals
Traceback (most recent call last):
File "/usr/sbin/etc-proposals", line 11, in <module>
from etcproposals.etcproposals_lib import Config, EtcProposals
File "/usr/lib/python2.7/site-packages/etcproposals/etcproposals_lib.py", line 604, in <module>
State = EtcProposalsState()
File "/usr/lib/python2.7/site-packages/etcproposals/etcproposals_lib.py", line 566, in __init__
shelve.Shelf.__init__(self, anydbm.open(STATEFILE, 'c'))
File "/usr/lib/python2.7/anydbm.py", line 82, in open
mod = __import__(result)
File "/usr/lib/python2.7/dbhash.py", line 7, in <module>
ImportError: No module named bsddb
In this instance the file in question was not required, and can simply be removed (to be recreated with a different db module), however it may be best to note this somewhere...
Python itself is using bsddb:
$ grep bsddb "/usr/lib64/python2.6/dbhash.py"
"""Provide a (g)dbm-compatible interface to bsddb.hashopen."""
error = bsddb.error # Exported for anydbm
return bsddb.hashopen(file, flag, mode)
I'm running dev-lang/python-2.6.6-r2
python2.6 and the module both deprecated