zoukankan      html  css  js  c++  java
  • python3安装mysqlclient,解决django使用pymysql报错的问题

    1.起因


    在django中为了使用MySQL,一般是在项目目录下的__init__.py中添加

    import pymysql
    pymysql.install_as_MySQLdb()  # 使用pymysql代替mysqldb连接数据库
    

     

    但是有的人使用却会报错,

        raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)
    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.1.

    发生上面的错误,是因为django版本>=2.2 ,
    pymysql的mysqlclient版本是0.9.3,版本过低,所以出现了上面的情况,解决办法如下

    2. 解决办法

    1.简单粗暴,直接改版本号


    在setting.py的__init__.py里

    import pymysql
    pymysql.version_info = (1, 4, 13, "final", 0)
    pymysql.install_as_MySQLdb()  # 使用pymysql代替mysqldb连接数据库

    2. 不再使用pymysql,安装mysqlclient

    python3环境下直接pip install mysqlclient,一般会报错

    解决办法,如下

    在pip安装mysqlclient之前,先根据自己的环境做如下准备

    windows环境

    访问网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient,下载与python版本相对应的mysqlclient版本,再使用pip命令安装Mysqlclient
     
    pip install mysqlclient‑1.4.6‑cp37‑cp37m‑win_amd64.whl

    mac环境

    $ brew install mysql-client
    $ echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
    $ export PATH="/usr/local/opt/mysql-client/bin:$PATH"
    $ pip install mysqlclient

    Linux

    #Debian / Ubuntu

    $ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential 

    #Red Hat / CentOS

    $ sudo yum install python3-devel mysql-devel

  • 相关阅读:
    node 命令
    nodejs项目搭建
    linux 安装与配置
    GestureDetector
    activity切换效果
    hadoop
    phonegap 自定义插件
    自定义控件-属性自定义
    zxing demo
    select 语句的执行顺序
  • 原文地址:https://www.cnblogs.com/huchong/p/13744417.html
Copyright © 2011-2022 走看看