Mac OS X 10.5 LeopardのデフォルトのPythonパッケージで壊れたBSDDBインストールを修正する方法
-
03-07-2019 - |
質問
Mac OS X 10.5(Leopard)w / Developer Toolsのデフォルトの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
いいですか? 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&#8211; berkeley-db-incdir = / opt / local / include / db53&#8211; 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ファイルを再作成し、今では完全に機能するようになりました。