ImportError: No module named ‘MySQLdb'

安装须知:
我们使用Django、flask等来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。
常见的Mysql驱动介绍:

MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。
pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。

执行: pip3 install mysqlclient==1.4.6

ubuntu

报错如下:

Collecting mysqlclient==1.4.6
  Using cached https://files.pythonhosted.org/packages/d0/97/7326248ac8d5049968bf4ec708a5d3d4806e412a42e74160d7f266a3e03a/mysqlclient-1.4.6.tar.gz
    Complete output from command python setup.py egg_info:
    /bin/sh: 1: mysql_config: not found
    /bin/sh: 1: mariadb_config: not found
    /bin/sh: 1: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-gxoz145c/mysqlclient/setup.py", line 16, in <module>
        metadata, options = get_config()
      File "/tmp/pip-build-gxoz145c/mysqlclient/setup_posix.py", line 61, in get_config
        libs = mysql_config("libs")
      File "/tmp/pip-build-gxoz145c/mysqlclient/setup_posix.py", line 29, in mysql_config
        raise EnvironmentError("%s not found" % (_mysql_config_path,))
    OSError: mysql_config not found
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-gxoz145c/mysqlclient/

解决办法:

sudo apt install libmysqlclient-dev
# 下载到指定版本的python包中 sudo
-H python -m pip install -U mysqlclient==1.4.6 -i https://mirrors.aliyun.com/pypi/simple/

 windows

方法解析:
#MySQLdb只支持Python2.,还不支持3.可以用PyMySQL代替,也可以直接安装mysqlclient

#方法1:
pip install PyMySQL
#然后在需要的项目中,把 init.py中添加两行:
import pymysql
pymysql.install_as_MySQLdb()

#方法2
pip3 install mysqlclient

 



posted @ 2020-03-31 14:08  老虎死了还有狼  阅读(1193)  评论(0编辑  收藏  举报