首先,我會列出我的環境和狀態:的mod_wsgi無法加載mysql的
環境:
- 系統:Mac OS 10.6
- 的Python:2.6
- 阿帕奇:2.2
- mod_wsgi的: 3.3
- mysql:5.x
- php:3.5
- TRAC:0.12
狀態: 我可以毫無問題地運行TRAC作爲單獨的服務器。 現在我整合了trac到apache,問題出來了。 mod_wsgi可以正常運行正常的wsgi頁面,但無法加載mysql連接。我在一段代碼中測試它,在wsgi頁面中輸入「import MySQLdb」,它仍然不能。我還可以通過Apache訪問TRAC,但它表明我無法加載Python綁定的MySQL
我指的是Apache日誌:
[Sun Mar 13 13:36:44 2011] [error] [client ::1] mod_wsgi (pid=37060): Target WSGI script /Users/alex/Library/apache2/htdocs/sql.wsgi' cannot be loaded as Python module.
[Sun Mar 13 13:36:44 2011] [error] [client ::1] mod_wsgi (pid=37060): Exception occurred processing WSGI script '/Users/alex/Library/apache2/htdocs/sql.wsgi'.
[Sun Mar 13 13:36:44 2011] [error] [client ::1] Traceback (most recent call last):
[Sun Mar 13 13:36:44 2011] [error] [client ::1] File "/Users/alex/Library/apache2/htdocs/sql.wsgi", line 2, in <module>
[Sun Mar 13 13:36:44 2011] [error] [client ::1] import MySQLdb
[Sun Mar 13 13:36:44 2011] [error] [client ::1] File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
[Sun Mar 13 13:36:44 2011] [error] [client ::1] File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
[Sun Mar 13 13:36:44 2011] [error] [client ::1] File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
[Sun Mar 13 13:36:44 2011] [error] [client ::1] ImportError: dlopen(/Users/alex/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib
[Sun Mar 13 13:36:44 2011] [error] [client ::1] Referenced from: /Users/alex/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
[Sun Mar 13 13:36:44 2011] [error] [client ::1] Reason: image not found
[Sun Mar 13 13:36:57 2011] [error] [client ::1] mod_wsgi (pid=37061): Target WSGI script
這看起來像mod_wsgi的找不到libmysqlclient.16.dylib。我遇到類似的問題,當我安裝MySQLdb的Python的,所以我加出口
DYLD_LIBRARY_PATH=/Users/alex/Library/mysql-5.x/lib
所以Python -c「進口MySQLdb的」可以工作,但mod_wsgi的不能工作。 所以我把
os.environ['DYLD_LIBRARY_PATH'] = '/Users/alex/Library/mysql-5.x/lib'
到trac.ini。 它仍然不適用於apache中的trac。
因此,任何人都有這個問題嗎? 感謝
32位和64位?看到http://code.activestate.com/pypm/mysql-python/#notes – 2011-03-13 22:46:01
它是64位,我可以運行python-mysql沒有問題。問題是mod_wsgi無法正常工作。 – 2011-03-13 23:29:08