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

  • 相关阅读:
    tableView小细节
    iOS5 切换中文键盘时覆盖输入框的解决方案
    NSBundle读取txt文件,图片,plist
    iOS OC 字符串处理
    图片拉伸 几种方式
    UIAlertView小结
    新来报道
    VC6.0之Debug调试总结
    关于C++中的临时对象问题
    与临时对象的斗争(下)
  • 原文地址:https://www.cnblogs.com/huchong/p/13744417.html
Copyright © 2011-2022 走看看