如何在Anaconda的Python IDE中使用MySQL

时间:2014-08-10 12:38:40

标签: python mysql anaconda

我只是希望能够进行简单的SELECT * FROM查询。

我找到了一个Python MySQLdb包,但无法使用Windows安装程序进行安装。它说,

  

在注册表中找不到Python

然后我自己尝试编译它,但是在编译过程中我已经调试了大约六个错误并放弃了。

如果您能够使用 Anaconda 连接到MySQL,请详细说明您是如何做到的?感谢。

2 个答案:

答案 0 :(得分:8)

问题是Python软件包的二进制安装程序正在查找特定的注册表项,如果您使用的是Anaconda安装程序,则该密钥不存在。

更糟糕的是,Anaconda在商业或免费存储库中都没有提供数据库驱动程序。

所以现在你有两个选择

  1. 推荐 - 摆脱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安装程序;出于同样的原因。

    您可能会遇到的主要软件包,您可以从安装以下内容开始:

    1. setuptools
    2. ipython
    3. numpy
    4. scipy
    5. pandas
    6. matplotlib要求:
      1. dateutil
      2. pytz
      3. pyparsing
      4. six
      5. Pillow
      6. pycairo
      7. tornado
        1. certifi
        2. backports
      8. wx-python
      9. pyside
      10. pyqt
    7. Numba
      1. llvm
    8. blaze
    9. bokeh
    10. 下载这些内容需要一些时间,但它们都是Windows安装程序,因此您只需双击它们即可。请记住先决条件(上面的缩进条目)。

    11. 另一种选择是欺骗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扩展名保存上述文件,然后双击它以影响对注册表的更改。要执行此操作可能需要管理员级别访问权限,因此上述操作可能对您的系统无效。

    12. 我强烈推荐选项#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(  )