It appears the Apple-supplied Pythons are not built with any third-party database libraries so anydbm results in the use of the default portable dumbdbm implementation which lacks an iteritems method.
$ /usr/bin/python2.5
Python 2.5.4 (r254:67916, Feb 11 2010, 00:50:55)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import anydbm
>>> db = anydbm.open('cache', 'c')
>>> dir(db)
['close', 'get', 'has_key', 'keys', 'setdefault']
The python.org OS X Pythons, on the other hand, are built with a real dbm interface:
$ /usr/local/bin/python2.5
Python 2.5.4 (r254:67917, Dec 23 2008, 14:57:27)
[GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import anydbm
>>> db = anydbm.open('cache2', 'c')
>>> dir(db)
['__cmp__', '__contains__', '__del__', '__delitem__', '__doc__', '__getitem__', '__init__', '__iter__', '__len__', '__module__', '__repr__', '__setitem__', '_checkCursor', '_checkOpen', '_closeCursors', '_cursor_refs', '_gen_cref_cleaner', '_make_iter_cursor', 'clear', 'close', 'db', 'dbc', 'first', 'get', 'has_key', 'isOpen', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'last', 'next', 'pop', 'popitem', 'previous', 'saved_dbc_key', 'set_location', 'setdefault', 'sync', 'update', 'values']
>>> db.iteritems()
<generator object at 0x481760>
>>> db.__module__
'bsddb'
There are some open issues on the Python bug tracker concerning some of the dbm modules inconsistencies.