使用Python在OSX上写入MySQL的设置更简单

时间:2011-12-30 03:29:12

标签: python mysql macos mysql-python

我有一个使用mysql-python写入MySQL数据库的Python脚本。这适用于Linux和Windows,但在OSX上,这个库对我的客户来说太难安装了。

需要编辑配置文件,目录符号链接,安装gcc,xcode,...
非技术用户的压倒性过程。

那么,是否有更实用的方法来支持在OSX上写入MySQL?

一些潜在的替代方案:

1 个答案:

答案 0 :(得分:2)

不幸的是,目前确实没有微不足道的解决方案。如果您需要在Python上使用MySQL,OS X上最简单,最可靠的解决方案是安装所有内容 - Python,MySQLdb,所需的任何其他第三方Python包,MySQL客户端库,以及必要时的MySQL服务器库和实用程序 - 使用包管理系统,如MacPorts。尝试从不同的源安装各种组件经常遇到不兼容的可执行文件和库的问题:32位与64位,不同的ABI(10.3对10.6)等。

对于安装了Xcode和the MacPorts base system的系统,您可以使用一个命令构建和安装所有内容:

sudo port install py27-mysql

如果您还需要MySQL服务器:

sudo port install py27-mysql mysql5-server

默认情况下,/opt/local会安装所有安装了MacPorts的可执行文件,因此您只需要从那里运行:

/opt/local/bin/python2.7

为了方便您的用户,您应该能够使用MacPorts构建必要的端口集作为二进制存档,并设置脚本以安装MacPorts基本系统,然后安装预先构建的软件包。 MacPorts指南here中有一些相关信息。但是,对于MacPorts 2.0.x,其中大部分已经过时了。在指南更新之前,有一些信息从here开始。最安全的方法是为每个支持的OS X版本构建一组不同的包。它可能可以在最旧的系统上构建一个向上兼容的集合:比如,在10.5上构建可以在10.6和10.7系统上运行的软件包。为防止干扰客户的MacPorts安装,您还可以从源代码构建MacPorts基本系统,并将安装根目录更改为/opt/local以外的其他内容。

OS X上更惯用的方法是使用py2app创建包含Python和MySQL客户端库的应用程序包。我不知道是否有人成功地做到了。

另一个建议:如果你真的不需要远程服务器,请考虑使用SQLite。 Support for SQLite包含在Python标准库中。