如何在Anaconda的Python IDE中使用MySQL
我只是想简单地执行一个 SELECT * FROM
查询。
我找到一个叫 MySQLdb
的Python包,但在用Windows安装时遇到问题。它显示:
在注册表中找不到Python
然后我尝试自己编译这个包,但在编译过程中遇到了大约六个错误,最后放弃了。
如果你能通过 Anaconda 连接到MySQL,能不能详细说说你是怎么做到的?谢谢。
2 个回答
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( )
问题在于,Python包的二进制安装程序需要查找一个特定的注册表键,如果你使用的是Anaconda安装程序,这个键是不存在的。
更糟糕的是,Anaconda在他们的商业版和免费版库中都没有提供数据库驱动。
所以现在你有两个选择:
推荐 - 卸载Anaconda。直接把它删掉。然后使用官方的Windows Python安装程序来安装Python。目前建议安装2.7.x系列,这样兼容性最好。如果你想让你的普通安装和Anaconda一样,可以单独安装Anaconda自带的那些包。
加州大学欧文分校的荧光动力学实验室维护了一个Python包的库,这些包在Windows上安装起来比较麻烦。他们把这些包转换成了Windows安装程序,所以你只需下载并双击安装。就像MySQL安装程序一样,这些也只能和官方的Python安装程序一起使用,原因是一样的。
你可能需要的主要包,可以先安装以下这些:
下载这些包可能需要一些时间,但它们都是Windows安装程序,所以你只需双击安装即可。记得注意前面提到的依赖项(缩进的条目)。
另一个选择是通过修改注册表来欺骗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
扩展名,然后双击它以更改注册表。这样做可能需要管理员权限,所以可能在你的系统上无法生效。
我强烈推荐选择第一种方式,因为这样可以确保你的系统与其他Python库的兼容性最好。