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