Python3を使用している場合の更新: conda install mysqlclient
を使用するだけです。 現在存在するMySQLdbを使用するために必要なライブラリをインストールします。次のSOの質問は有用な手がかりでした: Python 3 ImportError:「ConfigParser」という名前のモジュールがありません
。 mysqlclientをインストールすると、mysqlclient、mysql-connector、およびllvmdevがインストールされます(少なくとも、これら3つのライブラリが私のマシンにインストールされました)。
これが、この問題に関する私のとりとめのない経験の物語です。問題の経験が豊富な場合は、編集または一般化してください...そのSOマジックを少し適用してください。
注:次の段落のコメントはSnow Leopardに適用されますが、64ビットMySQLが必要と思われるLionには適用されません
まず、MySQLdbの作成者(まだ?)はここ 最も厄介な問題の1つは、OS Xに32ビットバージョンのPythonがインストールされていることですが、ほとんどの平均的なジョー(私自身を含む)はおそらく64ビットバージョンのMySQLをインストールするためにジャンプします。悪い動き...64ビットバージョンをインストールしている場合は削除します(この厄介なタスクの手順は、SO ここ )、32ビットバージョンをダウンロードしてインストールします(パッケージこちら )
MySQLdbライブラリを構築およびインストールする方法については、多数のステップバイステップがあります。彼らはしばしば微妙な違いがあります。 これ> 私にとって最も人気があるようで、実用的な解決策を提供しました。以下のいくつかの編集でそれを再現しました
ステップ0: 始める前に、MySQL、Python、およびGCC Macにインストールされています。
ステップ1: 最新の
ステップ2: ダウンロードしたパッケージを抽出します:
tar xzvf MySQL-python-1.2.2.tar.gz
ステップ3: フォルダ内で、パッケージをクリーンアップします:
sudo python setup.py clean
追加の手順のカップル(このコメント から )
ステップ3b: MySQL-python-1.2.2 / build/*ディレクトリの下にあるすべてのものを削除します-「pythonsetup.pyclean」を信頼しないでください
ステップ3c: Users / $ USER / .python-eggs
の下にある卵を削除しますステップ4: 元々は_mysql.cの編集が必要でしたが、現在は不要です。 MySQLdbコミュニティはこのバグを修正したようです。
ステップ5: mysqlと呼ばれるサブディレクトリを指すようにlibの下にシンボリックリンクを作成します。これは、コンパイル中に検索される場所です。
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
ステップ6: setup_posix.pyを編集し、以下を変更します
mysql_config.path ="mysql_config"
に
mysql_config.path ="/ usr / local / mysql / bin / mysql_config"
ステップ7: 同じディレクトリで、パッケージを再構築します(それに付随する警告は無視してください)
sudo python setup.py build
ステップ8: パッケージをインストールすれば完了です。
sudo python setup.py install
ステップ9: それが機能しているかどうかをテストします。 MySQLdbをインポートできれば機能します。
python
>>> import MySQLdb
ステップ10: インポートしようとすると、Library not loaded: libmysqlclient.18.dylib
末尾:Reason: image not found
次の1つの追加のシンボリックリンクを作成する必要があります:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
これで、import MySQLdb
ができるようになります。 エラーなし。
ただし、最後の問題の1つは、ビルドディレクトリからPythonを起動すると、次のエラーが発生することです。
/Library/Python/2.5/site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.py:3:UserWarning:モジュール_mysqlはすでに/Library/Python/2.5/からインポートされていますsite-packages / MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg / _mysql.pycですが、XXXX/MySQL-python-1.2.3c1がsys.pathに追加されています
これはGoogleにとって非常に簡単ですが、問題を回避するために、ここ
になります。 (またはそうではないかもしれません...特に将来を見据えたURLではありません)そしてcd ..
する必要があることを理解してください ビルドディレクトリから外れ、エラーが消えるはずです。
冒頭で書いたように、この恐ろしい問題には他にも多くの特定の経験があるので、この答えが一般化されるのを見たいと思います。編集するか、独自のより良い答えを提供してください。