在Windows中将MySQL与Python集成

时间:2009-03-14 13:53:29

标签: python mysql windows

我发现很难在我的Windows系统中使用MySQL和Python。

我目前正在使用Python 2.6。我曾尝试使用提供的安装脚本编译MySQL-python-1.2.3b1(应该适用于Python 2.6?)源代码。安装脚本运行,它不报告任何错误,但它不会生成_mysql模块。

我也尝试过为Python 2.5设置MySQL而不成功。使用2.5的问题是Python 2.5是使用visual studio 2003编译的(我使用提供的二进制文件安装它)。我的Windows系统上有visual studio 2005。因此setuptools无法生成_mysql模块。

任何帮助?

16 个答案:

答案 0 :(得分:126)

Download page for python-mysqldb。该页面包含用于Python 2.5,2.6和2.7的32位和64位版本的二进制文件。

还有discussion on getting rid of the deprecation warning

更新:这是一个陈旧的答案。目前,我建议使用PyMySQL。它是纯python,因此它同样支持所有操作系统,它几乎是mysqldb的直接替代品,它也可以与python 3一起使用。安装它的最佳方法是使用pip。您可以从here安装它(更多说明here),然后运行:

pip install pymysql

答案 1 :(得分:30)

这可能就像你爷爷的建议一样,但这里的所有答案都没有提到最好的方法:去安装ActivePython而不是python.org windows二进制文件。很长一段时间我真的很想知道为什么Windows上的Python开发是如此的皮塔饼 - 直到我安装了activestate python。我不隶属于他们。这只是一个明显的事实。把它写在每一面墙上: Windows上的Python开发= ActiveState ! 然后你只需pypm install mysql-python,一切顺利。 没有编译狂欢。没有奇怪的错误。没有恐怖。五分钟后开始编码并做实际工作。 这是进入Windows的唯一方法。真。

答案 2 :(得分:15)

当Python新手学习Python生态系统时,我刚刚完成了这个。

  1. 安装setuptools instructions

  2. 安装MySQL 5.1。从here下载97.6MB MSI您不能使用essentials版本,因为它不包含C库。
    请务必选择自定义安装,并标记开发工具/库以进行安装,因为默认情况下不会这样做。这是获取C头文件所必需的 您可以通过在安装目录中查找名为“include”的文件夹来验证是否已正确完成此操作。 E.G C:\ Program Files \ MySQL \ MySQL Server 5.1 \ include。它应该有一大堆.h文件。

  3. here安装Microsoft Visual Studio C ++ Express 2008这是获取C编译器所必需的。

  4. 以管理员身份打开一个命令行(右键单击Cmd快捷方式,然后“以管理员身份运行”。确保在安装完这些内容之后打开一个新窗口路径不会更新,安装仍然会失败。

  5. 从命令提示符:

    easy_install -b C:\ temp \ sometempdir mysql-python

    那会失败 - 这没关系。

    现在在临时目录C:\ temp \ sometempdir中打开site.cfg并将“registry_key”设置编辑为:

    registry_key = SOFTWARE \ MySQL AB \ MySQL Server 5.1

    现在CD进入你的临时目录并且:

    python setup.py clean

    python setup.py install

    你应该准备摇滚!

  6. Here是一个非常简单的脚本,可以为您开始学习Python DB API - 如果您需要它。

答案 3 :(得分:7)

我发现一个位置是一个人成功构建了python2.6的mysql,共享链接,http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe

...你可能会在导入MySQLdb时看到一个警告,这很好并且不会伤害任何东西,

C:\ Python26 \ lib \ site-packages \ MySQLdb__init __。py:34:DeprecationWarning:不推荐使用sets模块 从集导入ImmutableSet

答案 4 :(得分:5)

pymysql怎么样?它是纯Python,我在Windows上使用它取得了相当大的成功,绕过了编译和安装mysql-python的困难。

答案 5 :(得分:2)

您不是唯一遇到Python 2.6和MySQL(http://blog.contriving.net/2009/03/04/using-python-26-mysql-on-windows-is-nearly-impossible/)问题的人。这是一个解释如何在Python 2.5 http://i.justrealized.com/2008/04/08/how-to-install-python-and-django-in-windows-vista/下运行的解释 祝你好运

答案 6 :(得分:2)

答案 7 :(得分:2)

您可以尝试使用myPySQL。它真的很容易使用;没有windows的编译,即使你因任何原因需要编译它,你只需要安装Python和Visual C(而不是mysql)。

http://code.google.com/p/mypysql/

祝你好运

答案 8 :(得分:2)

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python上预编译的二进制文件对我有用。

  1. 使用zip打开MySQL_python-1.2.5-cp27-none-win_amd64.whl文件 提取程序。
  2. 将内容复制到 C:\Python27\Lib\site-packages\

答案 9 :(得分:2)

在Python 3.4上我安装了来自http://www.lfd.uci.edu/~gohlke/pythonlibs/的mysqlclient和pip install mysqlclient,它正在运行。

答案 10 :(得分:1)

因为我在(pylons / pyramid)virtualenv中运行python,所以无法运行以前链接的二进制安装程序(有用)。

我在使用Willie的答案后遇到了问题,但我确定问题是(可能)我正在运行Windows 7 x64安装,它将mysql的注册表项放在稍微不同的位置,特别是在我的情况下(注意:我正在运行版本5.5):“HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MySQL AB \ MySQL Server 5.5”。

但是,“HKEY_LOCAL_MACHINE \”不能包含在路径中,否则会失败。

另外,我必须在第3步和第4步之间重新启动。

完成所有这些工作后,IMO从cygwin运行整个python开发环境会更聪明。

答案 11 :(得分:1)

如果您正在寻找Python 3.2,这似乎是我到目前为止找到的最佳解决方案

来源:http://wiki.python.org/moin/MySQL

答案 12 :(得分:0)

您可能还想考虑使用Cygwin,它在存储库中有mysql python库。

答案 13 :(得分:0)

您还可以使用pyodbcMySQL Connector/ODBC在Windows上使用MySQL。 Unixodbc也可用于使代码在Linux上兼容。 Pyodbc使用标准的Python DB API 2.0,所以如果你坚持在MySQL / PostgreSQL / SQLite / ODBC / JDBC驱动程序等之间进行切换应该相对轻松。

答案 14 :(得分:0)

upvoted itsadok的答案因为它导致我安装了python 2.7,它位于:http://www.codegood.com/archives/129

答案 15 :(得分:0)

厌倦了使用MySQLdb的安装问题,而是尝试了pymysql

简易设置;

git clone https://github.com/petehunt/PyMySQL.git
python setup.py install

API几乎相同。