python2.7安装MySQL-pyt

发布时间:2019-09-14 09:25:04编辑:auto阅读(1644)


    一、安装


    1、安装MySQL-python:

    1. https://pypi.org/project/MySQL-python/1.2.5/#files
    2. https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

    2、如果是第一种,直接安装就好了,记得勾选“C Include Files / Lib Files”。
    如果是第二种,将whl下载到本地,然后pip install + whl在本地完整的路径
    安装前可视情况先下载:

    1. ) VCforpython2.7
    2. ) C语言库

    二、错误


    1、原因:缺少C++库,下载VCforpython2.7

    这里写图片描述
    报错代码如下:

     error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27

    尤其注意画红框的地方,意思就是去这个网站下即可。

    2、原因:安装MySQL的时候没有安装C语言库。
    这里写图片描述
    或是
    这里写图片描述
    报错代码如下:

    fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
    或
    fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    解决方法:
    1、如果用的是第一步里的第一个链接,即下载的是exe,那么重新运行MySQL的安装程序,选择Modify,把“C Include Files / Lib Files”勾选上,再安装就好了。(参照来源:https://www.cnblogs.com/fnng/p/4115607.html
    2、如果不用exe,可以尝试https://dev.mysql.com/downloads/connector/c/下载。

    3、如果在运行Django项目时,仍报如下错:

     File "D:\Anaconda2\lib\site-packages\django\db\backends\mysql\base.py", line 31, in <module>
        'Did you install mysqlclient or MySQL-python?' % e
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xb2 in position 20: ordinal not in range(128)

    我查看了源代码,并在最前面加上了# -*-coding:utf-8-*-也不顶事,报错的源代码是base.py文件中第25~31行:

    try:
        import MySQLdb as Database
    except ImportError as e:
        raise ImproperlyConfigured(
            'Error loading MySQLdb module: %s.\n'
            'Did you install mysqlclient or MySQL-python?' % e
        )

    意思就是导入MySQLdb失败,我们刚刚下的是MySQL-python,就是为这个db而下的,但是导入失败,之前我知道最好用pymysql,能兼容2.x和3.x。
    参考:https://www.cnblogs.com/yuzhanhong/p/9016172.html

    解决:在你开发web项目,与settings.py同级目录下的init.py文件里添上即可:

    import pymysql
    pymysql.install_as_MySQLdb()

关键字