2011-12-30 2 views
1

mysql-pythonを使用してMySQLデータベースに書き込むPythonスクリプトがあります。これはLinuxとWindowsではうまくいきますが、OSXではこのライブラリはクライアントのインストールが困難です。PythonでOSXでMySQLに書き込むための設定が簡単

設定ファイルの編集、ディレクトリのシンボリックリンク、gcc、xcodeなどのインストールが必要です。
技術者以外のユーザーには圧倒的なプロセスです。

OSX上でMySQLへの書き込みをサポートするより現実的な方法はありますか?

いくつかの潜在的な代替案:

+0

mysql-pythonは最も成熟したものです。 1つの可能性は、あなたのクライアントのためのMac OS X用mysql-pythonのバイナリ配布を作ることです... – thesamet

+0

成熟したものは必要ありません - 単純な選択と挿入を行います – hoju

答えて

2

Unfo幸いにも、現時点では些細な解決策はありません。 MySQLをPythonで使用する必要がある場合、OS Xの最も簡単で信頼性の高いソリューションは、Python、MySQLdb、必要なサードパーティの他のPythonパッケージ、MySQLクライアントライブラリ、必要に応じてMySQLサーバライブラリとユーティリティ - MacPortsのようなパッケージ管理システムを使用します。 32ビットvs 64ビット、異なるABI(10.3 vs 10.6)など多くの異なるソースからさまざまなコンポーネントをインストールしようとすると、頻繁に問題が発生します。あなたにもMySQLサーバが必要な場合

sudo port install py27-mysql 

sudo port install py27-mysql mysql5-server 

すべてMacPortsのインストールされた実行ファイルはにデフォルトでインストールされます、あなたは、1つのコマンドですべてのものを構築してインストールすることができます

/opt/local/bin/python2.7 

簡単にあなたのユーザーのために、あなたはバイナリアーカイブとして必要なポートのセットを構築するためのMacPortsを使用することができるはずとにスクリプトを設定するには:あなたはそこから物事を実行する必要があるので、、 MacPortsベースシステムをインストールしてから、あらかじめ構築されたパッケージをインストールしてください。これに関する情報はMacPortsガイドhereにあります。しかし、その多くはMacPorts 2.0.xのために古くなっています。ガイドが更新されるまで、hereという情報があります。最も安全なアプローチは、サポートされている各OS Xリリースごとに異なるパッケージを構築することです。 は、必要な最も古いシステムの上位互換セットを構築することができます。たとえば、10.6と10.7システムでも動作する10.5のビルドパッケージ。お客様のMacPortsインストールとの干渉を避けるために、ソースからMacPortsベースシステムを構築し、インストールルートを/opt/local以外に変更することもできます。

OS Xのより慣用的なアプローチは、py2appを使用して、PythonとMySQLクライアントライブラリを含むアプリケーションバンドルを作成することです。誰かがそれをうまくやったかどうかわかりません。

もう1つの提案:リモートサーバーが本当に必要ない場合は、代わりにSQLiteを使用することを検討してください。 Support for SQLiteはPython標準ライブラリに含まれています。

+0

PyMySQLが問題なくインストールされていて、変更は簡単です。コメントしてくれてありがとう。 – hoju

関連する問題