如何在Anaconda的Python IDE中使用MySQL

use*_*297 6 python mysql anaconda

我只是想做一个简单的SELECT * FROM查询.

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

注册表中找不到Python

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

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

Bur*_*lid 8

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

更糟糕的是,Anaconda不会在其商业或免费存储库中提供数据库驱动程序.

所以现在你有两个选择

  1. 推荐 - 摆脱Anaconda.卸载它.使用适用于Windows官方Python安装程序安装Python .这时,我会推荐2.7.x系列以获得最大的兼容性.要使您的vanilla安装与Anaconda相同,您可以单独安装与Anaconda捆绑的软件包.

    加州大学欧文分校的荧光动力学实验室维护着一个很难在Windows上安装的Python软件包库.他们已经采用这些包并将它们转换为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

    下载它们需要一些时间,但它们都是Windows安装程序,因此您只需双击它们即可.请记住先决条件(上面的缩进条目).

  2. 另一个选择是欺骗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\\"
    
    Run Code Online (Sandbox Code Playgroud)

    替换"D:\\Python27\\"为Anaconda安装的路径.使用.reg扩展名保存上述文件,然后双击它以影响对注册表的更改.要执行此操作可能需要管理员级别访问权限,因此上述操作可能对您的系统无效.

我强烈推荐选项#1,因为它将确保您的系统设置为与其他Python库最兼容.

  • 现在,您可以安装Anaconda,使其作为默认的python安装出现。conda实用程序是pip和virtualenv的一种易于使用的替代方法。由于这些原因,我不建议先卸载ananconda,然后再重新安装Python和从Anaconda获得的数十个库。 (2认同)

Joh*_*erg 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(  )
Run Code Online (Sandbox Code Playgroud)