UNFO幸運的是,目前確實沒有微不足道的解決方案。如果你需要在Python中使用MySQL,OS X上最簡單和最可靠的解決方案就是安裝所有東西 - Python,MySQLdb,任何其他需要的第三方Python軟件包,MySQL客戶端庫,以及MySQL服務器庫和實用程序 - 使用包裹管理系統,如MacPorts。試圖從不同來源安裝各種組件經常會遇到以下問題:不兼容的內置可執行文件和庫:32位與64位,不同的ABI(10.3與10.6)等。
對於安裝了Xcode和the MacPorts base system的系統,你可以建立和使用一個命令安裝所有東西:如果您需要MySQL服務器以及
sudo port install py27-mysql
:
sudo port install py27-mysql mysql5-server
所有的MacPorts安裝的可執行文件將默認在安裝,所以你只需要在那裏運行的東西:
/opt/local/bin/python2.7
要爲你的用戶更容易,你應該能夠使用的MacPorts建立一套必要的端口爲二進制存檔並建立一個腳本安裝MacPorts基礎系統,然後安裝預建的軟件包。在MacPorts Guide here中有關於此的一些信息。但是,MacPorts 2.0.x的大部分功能已經過時。在指南更新之前,有信息從here開始。最安全的方法是爲每個支持的OS X版本創建一組不同的軟件包。它可能可能有可能在所需的最舊系統上構建一個向上兼容的集合:比如說,在10.5上構建包也可以在10.6和10.7系統上工作。爲了防止干擾客戶MacPorts安裝,您還可以從源代碼構建MacPorts基本系統,並將安裝根目錄更改爲/opt/local
以外的內容。
OS X更習慣的方法是使用py2app創建一個包含Python和MySQL客戶端庫的應用程序包。我不知道是否有人成功地做到了。
另一個建議:如果你真的不需要遠程服務器,可以考慮使用SQLite代替。 Python標準庫中包含Support for SQLite。
mysql-python是最成熟的一個。一種可能性是爲你的客戶製作你自己的Mac OS X二進制發行版... – thesamet 2011-12-30 04:44:19
不需要成熟的版本 - 只需簡單的選擇和插入 – hoju 2011-12-31 06:32:07