2012-01-08 17 views
0

私はしばらくの間MySQLdbを動作させようとしています。現在、このエラーが発生しています:MySQLdbをインポート中にエラーが発生しました

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "build/bdist.macosx-10.7-intel/egg/MySQLdb/__init__.py", line 19, in <module> 
    File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 7, in <module> 
    File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 6, in __bootstrap__ 
ImportError: dlopen(/Users/username/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib 
    Referenced from: /Users/username/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so 
    Reason: image not found 

これらのエラーを修正するには、私が何をすべきか分かりますか?

+2

あなたはmysqlのコンピュータにインストールされているよろしいです –

+0

私はMAMP持っていると私はせずにmyPHPadminでデータベースを作成することができています。?私は問題なくMysqlワークベンチを使用することができます。 – davidfx

答えて

0

MySQLdbが間違ったアーキテクチャのためにコンパイルされているようです。私はOSXライオンx86_64版を実行していると私はこれをしなければならなかった:

$ file $(which python) # so I can check my python is 64 bit 

と64ビット版のMySQLの

$ file $(which mysqld) # so I can check my MySQL is 64 bit too 

あなたの現在のMySQLdbのアーキテクチャは、32ビットであることを確認することができます

$ file /Users/username/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so 

そして、MySQLdbを動作させる唯一の方法は、ソースをダウンロードしてコンパイルすることでした。

$ ARCHFLAGS='-arch x86_64' python setup.py install 

これは、32ビットではなく64ビットライブラリ(_mysql.so)をビルドするようにsetup.pyを強制します。 (ハット先端は - 私が参考にしthisので質問を見つけ

HTH、ダン

関連する問題