【问题标题】:Easier setup for writing to MySQL on OSX with Python使用 Python 在 OSX 上更轻松地写入 MySQL
【发布时间】:2012-01-30 08:17:01
【问题描述】:

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

需要编辑配置文件、目录符号链接、安装 gcc、xcode、...
对于非技术用户来说是一个压倒性的过程。

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

一些潜在的替代方案:

【问题讨论】:

  • mysql-python 是最成熟的一个。一种可能性是为您的客户制作自己的用于 Mac OS X 的 mysql-python 二进制分发...
  • 不需要成熟的 - 只需进行简单的选择和插入

标签: python mysql macos mysql-python


【解决方案1】:

不幸的是,目前确实没有简单的解决方案。如果您需要将 MySQL 与 Python 一起使用,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

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

/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 标准库中。

【讨论】:

  • 我发现 PyMySQL 安装没有问题,并且具有与 MySQL 相同的界面,因此更改是微不足道的。感谢您的 cmets。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 2021-05-30
  • 1970-01-01
  • 2016-04-26
  • 2012-06-14
  • 2016-09-04
  • 2022-08-22
相关资源
最近更新 更多