从python访问MySQL数据库

从python访问MySQL数据库,python,mysql,database,Python,Mysql,Database,在过去的几个小时里,我一直在寻找一种用python访问mysql数据库的有效方法。我唯一能够编译和安装的是pyodbc,但是PPCLoopard没有必要的驱动程序 我已经知道了 更新: 我已经安装了setuptools,但现在MySQL-python无法构建 更新: 现在我已经安装了sqlalchemy,但是当命令行调用它时,它会显示出来,但在我的cgi脚本中使用时,它不会导入。install fink。它包括MySQLdb包。安装fink。它包括MySQLdb包。试试SQL Alchemy 这

在过去的几个小时里,我一直在寻找一种用python访问mysql数据库的有效方法。我唯一能够编译和安装的是
pyodbc
,但是PPCLoopard没有必要的驱动程序

我已经知道了

更新:
我已经安装了
setuptools
,但现在MySQL-python无法构建

更新:
现在我已经安装了
sqlalchemy
,但是当命令行调用它时,它会显示出来,但在我的cgi脚本中使用时,它不会导入。

install fink。它包括MySQLdb包。

安装fink。它包括MySQLdb包。

试试SQL Alchemy

这太棒了。

试试SQL炼金术

太棒了

更新:现在我已经将sqlalchemy应用到 安装,但它将在 由命令行调用它不会 在我的cgi脚本中使用时导入

您能否验证从CGI脚本调用的Python与以交互方式运行Python时得到的相同?检查
哪个python
,并将其与您的Web服务器CGI设置进行比较。这是我能想到的唯一一件会导致这种情况的事情——将它安装在一个Python中,而不是另一个Python中

你在用什么操作系统?如果您使用的是Ubuntu之类的工具,
sudoapt-get-install-python-mysqldb
比尝试自己构建要可靠得多

此外,除非我弄错了,否则如果您没有安装DB-API2模块(如python mysqldb),SQLAlchemy实际上不会帮助您建立连接本身——SQLAlchemy处于更高的级别,使用DB-API2连接并使对它的访问更具Pythonic性

更新:现在我已经将sqlalchemy应用到 安装,但它将在 由命令行调用它不会 在我的cgi脚本中使用时导入

您能否验证从CGI脚本调用的Python与以交互方式运行Python时得到的相同?检查
哪个python
,并将其与您的Web服务器CGI设置进行比较。这是我能想到的唯一一件会导致这种情况的事情——将它安装在一个Python中,而不是另一个Python中

你在用什么操作系统?如果您使用的是Ubuntu之类的工具,
sudoapt-get-install-python-mysqldb
比尝试自己构建要可靠得多


另外,除非我弄错了,否则如果您没有安装DB-API2模块(如python mysqldb),SQLAlchemy实际上不会帮助您建立连接本身-SQLAlchemy处于更高的级别,使用DB-API2连接并使对它的访问更加Pythonic。

链接中提供的解决方案有什么问题吗?我尝试了MySQLdb,但它无法编译。我还想避免它被标记为重复。所以问题应该是“为什么MySQLdb不能编译”:pindect。MySQLdb是从Python与MySQL对话的方式,它在OSX上运行良好。谷歌随机猜测,也许这是你的问题:我已经做到了。在用
uint
修复错误后,我得到了错误:回溯(最近一次调用最后一次):文件“setup.py”,第5行,来自setuptools导入安装,扩展名ImportError:没有名为setuptools的模块链接中提供的解决方案有什么错误?我尝试了MySQLdb,它不会编译。我还想避免它被标记为重复。所以问题应该是“为什么MySQLdb不能编译”:pindect。MySQLdb是从Python与MySQL对话的方式,它在OSX上运行良好。谷歌随机猜测,也许这是你的问题:我已经做到了。在用
uint
修复错误后,我得到了错误:回溯(最近一次调用最后一次):文件“setup.py”,第5行,来自setuptools import setup,Extension ImportError:没有名为SetupTools的模块我在那里看到了postgresql,但没有看到mysql。我也尝试了macports,但开始安装它自己的mysql版本。与大多数包管理器一样,macports旨在提供完整的解决方案,而不是片段。如果你不能编译mysql片段,那么让fink,macports等为您编译整个内容。实际上,您不必使用额外的位。该版本的库可能能够与运行在不同MySQL中的数据库进行对话。我在其中看到了postgresql,但没有看到MySQL。我也尝试了macports,但开始安装自己版本的MySQL。与大多数包管理器一样,MacPorts旨在提供一个完整的解决方案,而不是片段。如果你不能编译MySQL片段,那么让fink、MacPorts等为你编译整个内容。实际上,您不必使用额外的位。该版本的库可能能够与运行在不同MySQL中的数据库通信。