2012-07-30 86 views
0

這是我的第一個金字塔應用程序,我試過什麼解決方案,我可以找到,但沒有人爲我工作。我不斷收到內部服務器錯誤和錯誤日誌顯示:金字塔框架:Apache + mod_wsgi - MySQLdb導入錯誤

Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1]  import MySQLdb as mysql 
[Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1] File "build/bdist.macosx-10.7-   intel/egg/MySQLdb/__init__.py", line 19, in <module> 
[Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1] File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 7, in <module> 
[Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1] File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 6, in __bootstrap__ 
[Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1] ImportError: dlopen(/Users/anupamtulsyan/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib 
[Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1] Referenced from: /Users/anupamtulsyan/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so 
[Tue Jul 31 02:02:23 2012] [error] [client 127.0.0.1] Reason: image not found 
[Tue Jul 31 02:02:24 2012] [error] [client 127.0.0.1] File does not exist: /opt/local/apache2/htdocs/favicon.ico 

我的mysql和python都是64位安裝。文件'libmysqlclient.18.dylib'存在於/ usr/local/mysql/lib中。 我能夠在使用以下服務應用程序時導入MySQLdb: ../bin/pserver development.ini 但是,當通過mod_wsgi運行時,上述錯誤不斷出現。請有人幫忙!自2天以來我一直堅持這一點。

+0

這是不是一個真正的答案,但我會建議使用nginx + uWSGI,安裝起來相當簡單,速度也很快。另外考慮使用virtualenvs。嘗試使用brew或macports安裝nginx和python,並保持「默認」python清潔。從來沒有真正成功使用默認的OSX配置。除了簡單的Apache的東西。 – 2012-07-31 10:54:30

回答

2

看起來libmysqlclient.18.dylib不在Apache的路徑上。所以,你可能需要將其設置在/usr/sbin/envvars類似:

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

不同的地方你的mysql的lib是,然後重新啓動Apache。

我想你可能還可以構建MySQLdb的前設置DYLD_RUN_PATH,它會使用該路徑在_mysql.so - 避免了需要設置DYLD_LIBRARY_PATH

相關問題