在Windows中集成MySQL与Python

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

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

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

任何帮助?

python-mysqldb的下载页面 。 该页面包含Python 2.5,2.6和2.7的32位和64位版本的二进制文件。

还有关于摆脱贬值警告的讨论 。

更新 :这是一个旧的答案。 目前,我会推荐使用PyMySQL。 它是纯粹的Python,所以它支持所有操作系统,它几乎是一个替代mysqldb,它也适用于python 3.最好的安装方式是使用pip。 你可以从这里安装它(更多说明在这里 ),然后运行:

pip install pymysql 

这可能会像你的爷爷givin的意见,但所有的答案没有提到最好的方法:去nd安装ActivePython而不是python.org Windows二进制文件。 我真的很想知道为什么在Windows上Python开发是一个皮塔 – 直到我安装了activestate python。 我不隶属于他们。 这只是简单的事实。 把它写在每一面墙上: Windows上的Python开发= ActiveState ! 你然后只是pypm install mysql-python ,一切正常。 没有编译狂欢。 没有奇怪的错误。 没有恐怖。 刚开始编码,五分钟后做实际工作。 这是在Windows上唯一的方法。 真。

作为学习Python生态系统的Python新手,我刚刚完成了这个任务。

  1. 安装setuptools 说明

  2. 安装MySQL 5.1。 从这里下载97.6MB MSI你不能使用essentials版本,因为它不包含C库。
    一定要select一个自定义安装,并标记开发工具/库进行安装,因为这是默认情况下没有完成。 这是获得C头文件所需要的。
    您可以通过在安装目录中查找名为“include”的文件夹来validation您是否正确完成了此操作。 EG C:\ Program Files \ MySQL \ MySQL Server 5.1 \ include。 它应该有一大堆的.h文件。

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

  4. 以pipe理员身份打开命令行(右键单击Cmd快捷方式,然后select“以pipe理员身份运行”)。安装完成后,请务必打开一个新窗口否则path将不会更新,安装仍会失败。

  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到你的临时目录和:

    pythonsetup.py干净

    python setup.py安装

    你应该准备好摇滚!

  6. 这里是一个超级简单的脚本,开始学习Python DB API – 如果你需要它。

我发现一个位置是一个人成功地为python2.6build立了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模块从集合中被弃用import ImmutableSet

那么pymysql呢? 这是纯Python,我已经在Windows上使用它,取得了相当大的成功,绕开了编译和安装mysql-python的困难。

在Sourceforge上有用于MySQL-Python(2.4和2.5)的Windows二进制文件 。 你试过了吗?

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\

你可以尝试使用myPySQL。 这很容易使用; 没有编译的窗口,即使你需要编译它,因为任何原因,你只需要Python和Visual C安装(不是MySQL)。

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

祝你好运

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

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

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

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

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

如果你正在寻找Python 3.2,这似乎是迄今为止我发现的最好的解决scheme

  • 对于Python 2.4 – 3.2 PyMySQL
  • 对于Python 2.3 – 2.6 MySQL的Python

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

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

你也可以使用MySQL连接器/ ODBC的 pyodbc在Windows上使用MySQL。 Unixodbc也可以使代码在Linux上兼容。 Pyodbc使用标准的Python DB API 2.0,所以如果你坚持MySQL / PostgreSQL / SQLite / ODBC / JDBC驱动程序之间的切换应该是相对轻松的。

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

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

设置简单

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

和API几乎是一样的。