使用开发人员工具在 Mac OS X 10.5 (Leopard) 上的默认 Python 安装上执行以下操作:

noel ~ : python

Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13) 
[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 "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/bsddb/__init__.py", line 51, in <module>
import _bsddb
ImportError: No module named _bsddb

不错吧?如何解决这个问题而不放弃并安装/配置/维护我自己的Python包 TMNC的建议 或使用MacPorts等?

编辑

我通过 MacPorts 安装 Python2.4 和 BSDDB 解决了这个问题。

我的问题仍然存在:为什么默认安装被破坏了,是否可以修复它。

其他提示

这种痛苦在 OSX 10.8 上仍然存在。我无法使用 macports py-bsddb3 将 bsddb3 安装到 virtualenv 中。非常简单且有效的方法是:

  • 从 macports 安装 db53
  • 下载并解压 bsddb3 源代码(https://pypi.python.org/pypi/bsddb3/6.1.0)
  • sudo python setup.py –berkeley-db-incdir=/opt/local/include/db53 –berkeley-db-libdir=/opt/local/lib/db53 install

补丁对我不起作用,我不得不替换bsddb文件夹   /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7

使用bsddb3:

/usr/local/lib/python2.7/site-packages/bsddb3

请确保备份bsddb文件夹以防万一。

我找到的解决方案是安装ActivePython,挖掘它的库(位于/Library/Frameworks/Python.framework/Versions/....your version here .... / lib)并复制并粘贴< strong> _bsddb.so 文件进入我的OS X 10.6本机python 2.6安装目录(/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /)。

修复了丢失的_bsddb问题,让我在我的原生python安装中使用了bsddb的工作版本。然后,我刚刚卸载了ActivePython(此处的说明

我遇到的错误是“没有名为_bsddb的模块”。结果我不需要升级我的bsddb。我在使用在Windows中创建的.pkl文件。重命名pkl文件后,Mac OSX Python重新创建了一个新的.pkl.db文件,现在它运行得很好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top