Come risolvere l'installazione di BSDDB non funzionante nel pacchetto Python predefinito su Mac OS X 10.5 Leopard?

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

Domanda

Esegui le seguenti operazioni sull'installazione Python predefinita su Mac OS X 10.5 (Leopard) con Strumenti per sviluppatori:

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

bello, eh? Come posso risolvere questo problema senza rinunciare e installare / configurare / mantenere il mio pacchetto Python secondo il suggerimento di TMNC o l'utilizzo di MacPorts ecc.

Modifica

Ho risolto il problema installando Python2.4 e BSDDB tramite MacPorts.

La mia domanda è ancora valida: perché l'installazione predefinita è interrotta ed è possibile correggerla.

Altri suggerimenti

Questo dolore persiste su OSX 10.8. Non ho potuto installare bsddb3 usando macports py-bsddb3 in un virtualenv. Ciò che è stato molto semplice e ha funzionato è:

  • installa db53 da macports
  • scarica e decomprime sorgente 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

La patch non ha funzionato per me e ho dovuto sostituire la cartella bsddb in   /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7

con bsddb3 in:

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

Assicurati di eseguire il backup della cartella bsddb per ogni evenienza.

Una soluzione che ho trovato era installare ActivePython, scavare nella sua libreria (che si trova in /Library/Frameworks/Python.framework/Versions/.... la tua versione qui .... / lib) e copiare e incollare < strong> _bsddb.so nella directory di installazione di Python 2.6 nativo per OS X 10.6 (/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/).

Ciò ha risolto il problema mancante di _bsddb lasciandomi con una versione funzionante di bsddb nella mia installazione nativa di Python. Quindi, ho appena disinstallato ActivePython ( istruzioni qui )

L'errore che ho avuto è stato "Nessun modulo chiamato _bsddb". Si scopre che non ho bisogno di aggiornare il mio bsddb. Stavo usando il file .pkl creato in Windows. Dopo aver rinominato il file pkl per farlo uscire come Mac OSX Python ha ricreato un nuovo file .pkl.db e ora funziona perfettamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top