[Python-Dev] bsddb alternative (was Re: [issue3769] Deprecate bsddb for removal in 3.0) (original) (raw)

Kevin Teague kevin at bud.ca
Fri Sep 5 12:01:41 CEST 2008


On Sep 4, 2008, at 8:10 AM, C. Titus Brown wrote:

I have to say I've never had problems with a stock install of Python on either Mac OS X or Windows (shockingly enough :). I think this is good advice for applications that rely on external libraries, but I just don't see any problems with relying on Python 2.5 to contain all the things that normally come with Python 2.5.

There can be subtle differences between a "stock" Python and the
system Python on Mac OS X 10.5. For example, Mac OS X compiles against
EditLine instead of GNU Readline. From "man python" on Mac OS X:

""" The Python inteterpreter supports editing of the current input line
and history substitution, similar to facilities found in the Korn
shell and the GNU Bash shell. However, rather than being implemented
using the GNU Readline library, this Python interpreter uses the BSD
EditLine library editline(3) with a GNU Readline emulation layer. ... For example, the rlcompleter module, which defines a completion
function for the readline modules, works correctly with the EditLine
libraries, but needs to be initialized somewhat differently: ... """

Fairly rare that you'd trip over this minor difference though -
EditLine is more a problem on Mac OS X when trying to compile your own
Python, since you need to install and link against GNU Readline.

However, all does not seem to be right with the bsddb module on the
system Python 2.5 on Mac OS X 10.5:

$ /usr/bin/python Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information.

import bsddb Traceback (most recent call last): File "", line 1, in File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/bsddb/init.py", line 51, in import _bsddb ImportError: No module named _bsddb



More information about the Python-Dev mailing list