我只是希望能够进行简单的SELECT * FROM
查询。
我找到了一个Python MySQLdb
包,但无法使用Windows安装程序进行安装。它说,
在注册表中找不到Python
然后我自己尝试编译它,但是在编译过程中我已经调试了大约六个错误并放弃了。
如果您能够使用 Anaconda 连接到MySQL,请详细说明您是如何做到的?感谢。
答案 0 :(得分:8)
问题是Python软件包的二进制安装程序正在查找特定的注册表项,如果您使用的是Anaconda安装程序,则该密钥不存在。
更糟糕的是,Anaconda在商业或免费存储库中都没有提供数据库驱动程序。
所以现在你有两个选择
推荐 - 摆脱Anaconda。卸载它。使用official Python installer for Windows安装Python。这时,我会推荐2.7.x系列以获得最大的兼容性。要使您的vanilla安装与Anaconda相同,您可以单独安装the packages that are bundled with Anaconda。
加利福尼亚大学欧文分校的荧光动力学实验室维护着repository of Python packages很难在Windows上安装。他们已经采用这些包并将它们转换为Windows安装程序二进制文件。因此,只需下载并双击即可安装。就像MySQL安装程序一样,这些也只适用于官方的Python安装程序;出于同样的原因。
您可能会遇到的主要软件包,您可以从安装以下内容开始:
另一种选择是欺骗MySQL安装程序(以及其他Windows安装程序),使其认为Anaconda安装是官方的Python安装。您可以通过修改注册表来实现。
对于Windows 7 64,使用以下命令创建文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath]
@="D:\\Python27\\"
将"D:\\Python27\\"
替换为Anaconda安装的路径。使用.reg
扩展名保存上述文件,然后双击它以影响对注册表的更改。要执行此操作可能需要管理员级别访问权限,因此上述操作可能对您的系统无效。
我强烈推荐选项#1,因为它可以确保您的系统设置为与其他Python库最兼容。
答案 1 :(得分:5)
Anaconda附带了conda安装程序,因此请使用conda而不是pip。这适用于所有可用于conda的包。有MySQL包可供选择,您可以从https://docs.continuum.io/anaconda/pkg-docs中选择它们。
对于pymysql,你打开命令行,调用'conda install pymysql'并观看魔法展开。
当然有一种权衡(对于像我这样的非大师):还有一些不适用于conda的软件包。 tweepy就是其中之一。另一方面,我没有设法在卸载anaconda后使用pip安装sklearn,如另一个答案所示。
[编辑:]我可以在https://anaconda.org
上搜索后安装tweepy[编辑,回答问题:] @ scottlittle,你的意思是:
# -*- coding: utf-8 -*-
# imports
import pymysql
# open connection to the database
conn = pymysql.connect(host='localhost',
port=3306,
user='<your_user>',
passwd='<your_pwd>',
db='<your_db>',
charset='utf8')
cur = conn.cursor()
sql = "SELECT * FROM <your_favourite_table>"
cur.execute(sql)
# close connection to the database
cur.close()
conn.close( )