Как исправить сломанную установку BSDDB в пакете Python по умолчанию в Mac OS X 10.5 Leopard?

StackOverflow https://stackoverflow.com/questions/814041

Вопрос

Выполните следующие действия при установке Python по умолчанию в Mac OS X 10.5 (Leopard) без инструментов разработчика:

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 и т.д.?

Редактировать

Я решил проблему, установив Python2.4 и BSDDB через MacPorts.

Мой вопрос все еще остается в силе:почему нарушена установка по умолчанию и возможно ли это исправить.

Это было полезно?

Другие советы

Эта проблема сохраняется в OSX 10.8.Мне не удалось установить bsddb3 с помощью macports py-bsddb3 в virtualenv.Что было очень просто и сработало, так это:

  • установите db53 из macports
  • загрузите и распакуйте исходный код bsddb3 (https://pypi.python.org/pypi/bsddb3/6.1.0)
  • sudo python setup.py –berkeley-db-incdir=/opt/local/включить/db53 -berkeley-db-libdir=/opt/local/lib/db53 установить

Патч у меня не сработал, и мне пришлось заменить папку bsddb в /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7

с bsddb3 в:

/usr/local/lib/python2.7/пакеты сайта/bsddb3

Убедитесь, что вы сделали резервную копию папки bsddb на всякий случай.

Решение, которое я нашел, состояло в том, чтобы установить ActivePython, покопаться в его библиотеке (находится в /Library/Frameworks/Python.framework/Versions/....your версия здесь .... / lib), скопировать и вставить < Файл strong> _bsddb.so в моем каталоге установки OS X 10.6 для Python 2.6 (/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /).

Это устранило отсутствующую проблему _bsddb, оставив меня с рабочей версией bsddb в моей родной установке python. Затем я просто удалил ActivePython ( инструкции здесь )

У меня была ошибка "Нет модуля с именем _bsddb". Оказывается, мне не нужно было обновлять мой bsddb. Я использовал файл .pkl, созданный в Windows. После переименования файла pkl, чтобы получить его, как Mac OSX Python воссоздает новый файл .pkl.db, и теперь он работает отлично.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top