sql >> データベース >  >> RDS >> Mysql

Mac OS XにMySQLdb(MySQLへのPythonデータアクセスライブラリ)をインストールするにはどうすればよいですか?

    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: 最新の MySQLforPythonアダプター をダウンロードします SourceForgeから。

    ステップ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 ..する必要があることを理解してください ビルドディレクトリから外れ、エラーが消えるはずです。

    冒頭で書いたように、この恐ろしい問題には他にも多くの特定の経験があるので、この答えが一般化されるのを見たいと思います。編集するか、独自のより良い答えを提供してください。



    1. SELECT GROUP BYを挿入:式エラーよりも多くのターゲット列

    2. 文字列をチェックするPostgresクエリは数値です

    3. SQLServer2014インクリメンタル統計

    4. SQLテーブルデータをテキストテーブルとしてフォーマットする