解决mysqllib

2018-06-12  本文已影响0人  记事本的记事本

在win7下安装了python后,想安装python-mysql,使用pip安装出现如下问题:

pip install MySQL-python

_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory error: command '"C:\Users\fnngj\AppData\Local\Programs\Common\Microsoft\Visual C ++ for Python\9.0\VC\Bin\amd64\cl.exe"' failed with exit status 2

网上一般的解释是,重新安装mysql并在安装mysql是选择安装c++的编译器。。。

我虽然没试过,但感觉肯定行不通啊,我只是想装一个可以让python远程连接mysql的包而已,管本地mysql什么事?有些解释真是误人子弟。

但错误提示里也谢了缺少C++的相关环境,后来在网上找到方法了:
方法如下:

1.在http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载对应的包版本,如果是win7 64位2.7版本的python,就下载

MySQL_python-1.2.5-cp27-none-win_amd64.whl

然后在命令行执行pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl

当然需要在cmd下跳转到下载MySQL_python-1.2.5-cp27-none-win_amd64.whl的目录下

然后就安装成功了MySQL-python


在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用

在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入即可使用

但是在 Django 中, 连接数据库时使用的是 MySQLdb 库,这在与 python3 的合作中就会报以下错误了

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
1
解决方法:在 init.py 文件中添加以下代码即可。

import pymysql
pymysql.install_as_MySQLdb()
1
2
额,找了一下却没有找到 install_as_MySQLdb() 这个方法的源码,不过顾名思义应该是让 Django 把 pymysql 当成 MySQLdb 来使用吧

当然,出现这个问题可能是另外一个很基本的原因,就是没有安装相关库,这个直接用 pip 安装就可以了,这个在上面也有详细的描述呢

上一篇 下一篇

猜你喜欢

热点阅读