在 Windows 中将 MySQL 与 Python 集成
- 2025-03-14 08:57:00
- admin 原创
- 12
问题描述:
我发现在我的 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 模块。
有什么帮助吗?
解决方案 1:
python-mysqldb 的下载页面。该页面包含 Python 2.5、2.6 和 2.7 的 32 位和 64 位版本的二进制文件。
还有关于消除弃用警告的讨论。
更新:这是一个老答案。目前,我建议使用 PyMySQL。它是纯 Python,因此它同样支持所有操作系统,它几乎是 mysqldb 的替代品,并且它也适用于 Python 3。安装它的最佳方法是使用 pip。您可以从此处安装它(更多说明在这里),然后运行:
pip install pymysql
解决方案 2:
这可能读起来像你爷爷在给建议,但这里的所有答案都没有提到最好的方法:去安装ActivePython而不是 python.org Windows 二进制文件。我真的很想知道为什么在 Windows 上进行 Python 开发如此麻烦 - 直到我安装了 activestate python。我与他们没有任何关系。这只是一个简单的事实。把它写在每一面墙上:在 Windows 上进行 Python 开发 = ActiveState!然后你就可以pypm install mysql-python
一切顺利了。没有编译狂欢。没有奇怪的错误。没有恐惧。只需开始编码并在五分钟后进行实际工作。这是在 Windows 上进行的唯一方法。真的。
解决方案 3:
作为学习 Python 生态系统的 Python 新手,我刚刚完成了这个。
安装 setuptools说明
安装 MySQL 5.1。从此处下载 97.6MB MSI您无法使用基本版本,因为它不包含 C 库。
务必选择自定义安装,并标记要安装的开发工具/库,因为默认情况下不会执行此操作。这是获取 C 头文件所必需的。
您可以通过在安装目录中查找名为“include”的文件夹来验证您是否已正确完成此操作。例如 C:\Program Files\MySQL\MySQL Server 5.1\include。它应该有一大堆 .h 文件。
从这里安装 Microsoft Visual Studio C++ Express 2008这是获取 C 编译器所必需的。
以管理员身份打开命令行(右键单击 Cmd 快捷方式,然后“以管理员身份运行”。安装完这些内容后,请确保打开一个新窗口,否则您的路径将不会更新,安装仍然会失败。
从命令提示符中:
easy_install -b C:\temp\sometempdir mysql-python
那将会失败——没关系。
现在在临时目录 C:\temp\sometempdir 中打开 site.cfg,并将“registry_key”设置编辑为:
注册表项 = SOFTWARE\MySQL AB\MySQL Server 5.1
现在将 CD 放入临时目录并:
python setup.py 清理
python setup.py 安装
您应该已经准备好摇滚了!
这是一个非常简单的脚本,可以帮助您开始学习 Python DB API - 如果您需要的话。
解决方案 4:
我找到了一个人成功为 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 模块已从 sets 导入 ImmutableSet 中弃用
解决方案 5:
那么pymysql呢?它是纯 Python,我在 Windows 上使用它取得了相当大的成功,绕过了编译和安装 mysql-python 的困难。
解决方案 6:
你不是唯一一个在使用 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/
祝你好运
解决方案 7:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python上的预编译二进制文件对我来说很有用。
MySQL_python-1.2.5-cp27-none-win_amd64.whl
使用 zip 解压程序打开文件。将内容复制到
C:Python27Libsite-packages
解决方案 8:
在 Python 3.4 上,我已经从http://www.lfd.uci.edu/~gohlke/pythonlibs/使用 pip install mysqlclient 安装了 mysqlclient,并且它可以正常工作。
解决方案 9:
您可以尝试使用 myPySQL。它真的很容易使用;无需为 Windows 编译,即使出于任何原因需要编译它,您只需要安装 Python 和 Visual C(而不是 mysql)。
http://code.google.com/p/mypysql/
祝你好运
解决方案 10:
Sourceforge 上有适用于 MySQL-Python (2.4 和 2.5) 的 Windows 二进制文件。你试过这些吗?
解决方案 11:
因为我在(pylons/pyramid)虚拟环境中运行 python,所以我无法运行之前链接的二进制安装程序(有帮助)。
我在按照 Willie 的回答的步骤进行操作时遇到了问题,但我确定问题(可能是)我正在运行 Windows 7 x64 安装,它将 mysql 的注册表项放在了稍微不同的位置,特别是在我的情况下(注意:我正在运行版本 5.5)在:“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server 5.5”。
但是,“HKEY_LOCAL_MACHINE\”不能包含在路径中,否则将会失败。
另外,我必须在步骤 3 和步骤 4 之间重新启动。
完成所有这些工作后,在我看来,从 cygwin 运行整个 python 开发环境会更明智。
解决方案 12:
如果你正在寻找 Python 3.2,这似乎是我迄今为止找到的最佳解决方案
适用于 Python 2.4 - 3.2 PyMySQL
适用于 Python 2.3 - 2.6 的MySQL
来源:http://wiki.python.org/moin/MySQL
解决方案 13:
您可能还想考虑使用Cygwin,它的存储库中有 mysql python 库。
解决方案 14:
您还可以将pyodbc与MySQL Connector/ODBC结合使用,以便在 Windows 上使用 MySQL。Unixodbc 也可用于使代码在 Linux 上兼容。Pyodbc 使用标准 Python DB API 2.0,因此如果您坚持使用它,在 MySQL/PostgreSQL/SQLite/ODBC/JDBC 驱动程序等之间切换应该相对轻松。
解决方案 15:
赞同 itsadok 的回答,因为它引导我找到了 python 2.7 的安装,安装地址为:http://www.codegood.com/archives/129
解决方案 16:
厌倦了 MySQLdb 的安装麻烦,并尝试了pymysql。
易于设置;
git clone https://github.com/petehunt/PyMySQL.git
python setup.py install
而且 API 也几乎相同。