一、安装
1、安装MySQL-python:
- ) https://pypi.org/project/MySQL-python/1.2.5/#files
- ) https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
2、如果是第一种,直接安装就好了,记得勾选“C Include Files / Lib Files”。
如果是第二种,将whl下载到本地,然后pip install + whl在本地完整的路径
。
安装前可视情况先下载:
- ) VCforpython2.7
- ) 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()