2009-08-19 7 views
3

私はmysqlを使用するDjangoアプリケーションを設定しようとしています。リモートのmysqlサーバを使用するようにDjangoを設定していますか?

私のネットワークで利用可能なmysqlサーバを使いたいので、ローカルコピーをインストールしたくありません。

しかし、私がmysqldbをインストールしようとすると、mysql_configが必要です!

別のマシンでmysqlサーバを使用するにはどうすればよいですか?

sh: mysql_config: command not found 
Traceback (most recent call last): 
    File "setup.py", line 15, in <module> 
    metadata, options = get_config() 
    File "~/Dev/MySQL-python-1.2.3c1/setup_posix.py", line 43, in get_config 
    libs = mysql_config("libs_r") 
    File "~/Dev/MySQL-python-1.2.3c1/setup_posix.py", line 24, in mysql_config 
    raise EnvironmentError("%s not found" % (mysql_config.path,)) 
EnvironmentError: mysql_config not found 

MySQLファイルをダウンロードし、 "mysql_config"とmysqldbをビルドしようとしました。私はMySQLdbはをインポートしようとしたとき

は、しかし、私は得る:

>>> import MySQLdb 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "build/bdist.macosx-10.5-i386/egg/MySQLdb/__init__.py", line 19, in <module> 
    File "build/bdist.macosx-10.5-i386/egg/_mysql.py", line 7, in <module> 
    File "build/bdist.macosx-10.5-i386/egg/_mysql.py", line 6, in __bootstrap__ 
ImportError: dlopen(/tmp/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg-tmp/_mysql.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient_r.15.dylib 
    Referenced from: /tmp/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg-tmp/_mysql.so 
    Reason: image not found 

エラーが何であるか上の任意のヒントを?

おかげ

+0

プラットフォームを忘れてしまいました。私はMac OSXの下で走っています。 – lud0h

答えて

3

私は最終的に私のMacOSXにMySQLサーバをインストールせずにMySQLdbをコンパイルしました。

手順:

  1. ダウンロード、適切なMySQLのパッケージ(タール)にmysql_configを指すように
  2. 編集site.cfgのMySQLdbをバージョンをインストールし、MySQL Python bindings
  3. 開梱から
  4. ダウンロードのMySQLdbラッパーを開梱しませんあなたがダウンロードしたディレクトリ
  5. MySQLdbの指示に従います(基本的に&をインストールしてください)
  6. コピー(あなたがスレッドセーフバージョンを選びだしていると仮定した場合)は/ usr/local/mysqlの/ libににあなたの「のmysql/libに」フォルダからファイルlibmysqlclient_r.15.dylib
  7. は今、あなたはどのMySQLサーバー
  8. とのMySQLdbを使用する準備ができています
  9. インストールをテストするには、python >>> import mysqldb
+1

libmysqlclient_r.15の数字 "15"のようなものに遭遇する人のためのもうひとつのメモ。dylibはあなたがインストールしたMySQLバージョンで変更されるので、ソースからビルドする場合は、適切なMySQLバージョンがインストールされていることを確認してください(#7の "任意のMySQLサーバー"の補足)。私は誤ってMySQLdb .eggをビルドしてlibmysqlclient_r.15.dylibを探していましたが、私のシステムにはlibmysqlclient_r.16.dylibしかありませんでした(そして、名前を変更しても動作しません)。良い質問...私はMySQLdbとpyanttasksで私のバグを把握するのに役立ちました。ありがとう! –

1

のMySQLdbドライバのコンパイル済みのバージョンをインストールします。ほとんどのLinuxディストリビューションはリポジトリにそれを提供しています。例えばDebianやUbuntuではpython-mysqldbという名前です。

また、これにはプログラミングは含まれていないため、スーパーユーザーに移行するのが最も適しています。

+1

またはserverfaultに?これはサーバ設定の問題に似ています –

+0

ヒントはプリコンパイルされたバージョンを見つけようとしましたが、Python 2.5のものは見つかりませんでした[http://wiki.python.org/moin/MacPython/Packages] – lud0h

2

Djangoを実行しているマシンにmysqlのクライアントライブラリをインストールして、リモートのMySQLサーバに接続できるようにする必要があります。プレーンなlibmysqlclientとPythonのmysqlドライバの両方。詳細は、これを実行しているプラ​​ットフォームによって異なります。

+0

Thx for the infoそれは一緒にMySQLクライアントライブラリを取得することは可能ですか?私はMySQLのウェブサイトを見て、インストーラーパッケージだけを見つけましたか? – lud0h

関連する問題