私は、MySQL と連携する Python で書かれたツールの保守を担当しています。ユーザーは、さまざまなバージョンの Python を使用するさまざまなアプリケーションを通じてこのツールを使用します。
同じアプリケーションのソフトウェア リリース間で、Python のバージョンが異なる場合があります。ユーザーが対話することを選択したアプリケーションを制御することはできません (ただし、それらはすべて Python インターフェースを備えており、OS X で実行されます) が、Python-MySQL の問題を除いて、ほとんどすべてを機能させることができました。具体的には、一部のソフトウェアは Python の 64 ビット バージョンを使用します。その他は 32 ビット版に付属しています。OS X (私がサポートする必要がある OS) には Python と Python-MySQL 32 ビットがインストールされているので、次のようにします。
import MySQLdb
Python 64 ビットを使用するソフトウェアでは、インポートが失敗し、アプリケーションは OS X に同梱されている MySQL のバイナリが間違ったタイプであると言うでしょう。
Python-MySQL を 64 ビット アプリとしてダウンロード、コンパイル、インストールしましたが、Python-MySQL は Python の卵を使用します。卵は特定のディスクの場所を指すようにハードコーディングされているようです。私のマシンには/usr/local/lib/mysql
.
そのパスに 64 ビット バージョンがある場合、ツールは Python 64 ビットのアプリケーションで動作しますが、32 ビット バージョンの Python を使用する他のすべてのツールは失敗します。そのディスクの場所に 32 ビット バージョンの MySQL がある場合、32 ビット ツールは機能し、64 ビット バージョンは必要な処理を停止します。
個別の卵を作成しようとしましたが、卵を指すように変更する64ビットバージョンがありますが、その/usr/local/lib/mysql_x86_64
方法がわかりません。また、Python-MySQL をコンパイルしてその場所を指すように設定を変更しようとしましたが、これを行う方法が見つかりません。
今、私はこの件について自分の人生をグーグルで検索していますが、もし私が今書いたことが誰かに鐘を鳴らしたら、私を啓発してくれませんか?
私は Python-MySQL の専門家ではありません。