为什么MySQLdb for Mac必须安装MySQL才能安装?

时间:2009-09-27 07:31:28

标签: python mysql

我一直在研究如何在Mac上安装Python的MySQLdb模块。由于模块需要mysql_config,所有的pathes最终都会安装MySQL。但我不明白为什么需要它?

MySQLdb假设是想要连接到服务器的客户端的客户端模块。但是现在我必须首先在客户端安装服务器才能连接到另一台服务器?

5 个答案:

答案 0 :(得分:3)

为了完成精彩的答案,这是在MacOS X 10.6上安装MySQLdb的一个小方法。这是发布on my blog你可能会检查出更多信息(和链接,因为我是stackoverflow上的新用户,只能添加一个)。

  • 下载MySQL MacOS X 10.5(x86_64)tar球。目前为v10.5,直到MacOS X v10.6为止。
  • 获取MySQL-python(MySQLdb)的副本。
  • 在选项安装下安装Snow Leopard CD上的最新XCode工具或下载它。你需要它来编译。

我不是要介绍MySQL的安装,但是当你这样做时,这就是你安装MySQLdb的方法。

shell> PATH="/usr/local/mysql/bin:$PATH"
shell> tar xzf MySQL-python-1.2.3c1.tar.gz
shell> cd MySQL-python-1.2.3c1
shell> ARCHFLAGS="-arch x86_64" /usr/bin/python setup.py build
shell> /usr/bin/python setup.py install

目前有关于MySQL Connector / Python的工作。这是MySQL协议的纯Python实现,因此您无需安装任何MySQL软件或进行编译即可开始使用。

答案 1 :(得分:1)

我不确定MySQLdb的细节,但很可能需要头信息来编译/安装。它使用mysql_config的位置来了解相应标头的位置。 Ruby on Rails的MySQL Gem需要相同的东西,即使它只是连接到MySQL服务器。

答案 2 :(得分:1)

它需要的是服务器附带的客户端库和头文件,因为它只是一个Python包装器(位于_mysql.c;以及MySQLdb包中该包装器的DB-API接口)超过原始的C MySQL API。

答案 3 :(得分:1)

MySQLdb本身客户端模块。它是Python程序和标准MySQL客户端库之间的包装器或接口。 MySQLdb符合Python standard DB API。还为其他数据库管理器实现了其他符合标准的适配器。使用通用API可以更容易地在Python中编写与数据库无关的代码;适配器处理(大部分)各种数据库客户端库之间的混乱差异。因此,您需要安装MySQL客户端库;有几种方法可以做到这一点:最简单的选项可能是从mysql.com下载预构建的库,或者您可以使用包管理器(如MacPorts)来安装它们和其他依赖项。

答案 4 :(得分:1)

只是为了澄清其他回答者所说的内容:您不需要安装MySQL 服务器,但需要安装MySQL 客户端库。但是,无论出于何种原因,MySQL都不会为客户端库提供单独的下载,就像它们用于Linux一样。