2011-02-10 20 views
3

私はこのhttp://jazstudios.blogspot.com/2010/07/installing-mysql-python-mysqldb-in.htmlヒントを使って、virtualenv(dogmeという名前の)の中にmysql-python(mysqldb)をインストールしようとしました。 (この記事の時点うち2重要な事柄:virtualenv pip mysqldb mac os X python

export ARCHFLAGS="-arch x86_64" 
echo "mysql_config = /opt/local/bin/mysql_config5" >> ./dogme/build/MySQL-python/site.cfg 

のMySQLdbをコンパイルするのに役立つ)

しかし、後に、私のpython、輸入のMySQLdbを実行したとき、私はこれを取得:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/.virtualenvs/dogme/lib/python2.5/site-packages/MySQLdb/__init__.py", line 19, in <module> 
    import _mysql 
ImportError: dlopen(/home/.virtualenvs/dogme/lib/python2.5/site-packages/_mysql.so, 2): Symbol not found: _mysql_affected_rows 
    Referenced from: /home/.virtualenvs/dogme/lib/python2.5/site-packages/_mysql.so 
    Expected in: flat namespace 
in /home/.virtualenvs/dogme/lib/python2.5/site-packages/_mysql.so 

誰何が間違っているのか理解する

+0

この質問は時代遅れです:今、私はhomebrewでmysql-pythonをインストールし、それは直接動作します。 – sam

答えて

2

私は私のトレースバックを見て、同様の問題があった:

私がやったこと
>>> import MySQLdb 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.6/site-packages/MySQLdb/__init__.py", line 19, in <module> 
    import _mysql 
ImportError: dlopen(/Library/Python/2.6/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib 
    Referenced from: /Library/Python/2.6/site-packages/_mysql.so 
    Reason: image not found 

は私.bash_profileでこの変数を置くことだった:

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH" 

そして私は、ApacheとPythonのCGIアプリケーションを実行しました私はこの同じ変数をSetEnvディレクティブで設定します:

<Directory "/path/to/app"> 
    SetEnv DYLD_LIBRARY_PATH /usr/local/mysql/lib/:$DYLD_LIBRARY_PATH 
    ... 
</Directory> 

すべて私は今働いている。

+0

ダニロありがとう! –