2011-04-19 56 views
2

我花了一些時間,感覺像永遠在運行MySQL博客,並試圖找出如何在Mac OS 10.6.7上安裝MySQL服務器和MySQLdb for Python。我想我通過MacPorts安裝了MySQL服務器(這已經耗盡了),但我無法用Python導入MySQLdb(downloaded from here)。在Mac OS X上導入MySQLdb for Python時出錯

這是我得到的錯誤:

import MySQLdb 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/Library/Frameworks/EPD64.framework/Versions/6.3/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.5-x86_64.egg/MySQLdb/__init__.py", line 19, in <module> 
import _mysql 
ImportError: dlopen(/Library/Frameworks/EPD64.framework/Versions/6.3/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.5-x86_64.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib 
Referenced from: /Library/Frameworks/EPD64.framework/Versions/6.3/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.5-x86_64.egg/_mysql.so 
Reason: image not found 

我也跟着上this question的說明清理並重新安裝我的MySQLdb的安裝。一切工作都很好,但它導致了同樣的錯誤。

我也不確定它爲什麼調用EPD64.framework目錄 - 模塊文件夾和內容實際上包含在/Library/Frameworks/Python.Framework/.../site-packages中。 MacPorts可能已經穿過了電線?

(我沒有在site.cfg修改到/用戶/本地/ MySQL的/斌/ mysql_config的msyql_config路徑的一個額外的步驟)

我也試圖效仿this question的意見,但無法找到/User/$User/.python-eggs目錄,所以不知道該怎麼做。

任何想法?

+1

可能的重複[Python:MySQLdb和「Library not loaded:libmysqlclient.16.dylib」](http://stackoverflow.com/questions/4559699/python-mysqldb-and-library-not-loaded-libmysqlclient- 16-dylib) – DTing 2011-04-19 17:00:30

+0

剛剛注意到當你再次閱讀你的問題時,你有「/ user/local/mysql/bin/mysql_config」,它應該是「/ usr/local/mysql ...」,注意「usr 「目錄NOT」user「 – 2011-04-19 17:03:38

+1

'/ Library/Frameworks/EPD64.framework/Versions/6.3'表示您已經安裝並正在使用Enthought Python Distribution的Python。既然你已經從MacPorts安裝了服務器,爲什麼不直接從MacPorts安裝你需要的所有東西(Python,MySQLdb,MySQL客戶端庫),而不是在從不同源中提取組件的時候打破所有依賴關係? – 2011-04-19 17:18:32

回答

1

在你的問題的第二個鏈接那種包含了答案,但在這不必要打亂了這麼多的信息.​​..

只要確保你有以下斌:/usr/local/mysql/bin/mysql_config

然後安裝MySQLdb的時,所有你需要做的是在setup_posix.py改變mysql_config.path到:

mysql_config.path = "/usr/local/mysql/bin/mysql_config" 

嘗試簡單地這樣做,不這樣做,他們建議的符號鏈接或清洗雞蛋等