zoukankan      html  css  js  c++  java
  • Django启动报错Did you install mysqlclient or MySQL-python

    前言

    今天在对数据迁移的时候遇到一坑,这个坑之前也是遇到过,在Google之后解决了,今天又遇到了,不知道怎么处理了,又开始搜索,最终解决。

    故此记录问题解决的过程

    问题描述

    Django项目,迁移数据,执行命令:

    python manage.py makemigrations
    

    报错摘录信息:

    ...
    
      File "/Users/donghp/.virtualenvs/blog/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 30, in <module>
        'Did you install mysqlclient or MySQL-python?' % e
    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/donghp/.virtualenvs/blog/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libmysqlclient.21.dylib
      Referenced from: /Users/donghp/.virtualenvs/blog/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so
      Reason: image not found.
    Did you install mysqlclient or MySQL-python?
    

    分析

    提示说缺少 mysqlclientMySQL-python,可是我 pip list,查看了一下,是有的呀。网上说需要在项目加上一段代码将pymysql 指向 Mysqldb

    解答

    在项目的根目录__init__.py添加如下代码:

    import pymysql
    
    pymysql.install_as_MySQLdb()
    
    

    注意:

    不是manage.py所在的目录

    不是manage.py所在的目录

    不是manage.py所在的目录

    是项目settings所在的目录

    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
    

    Enjoy your code, good luck.

    不积跬步,无以至千里。
  • 相关阅读:
    5-29
    5-28
    5-27
    -5-26
    5-25
    5-24
    5-21
    RabbitMQ消息中间件极速入门与实战
    细说java多线程之内存可见性
    全面解析java注解
  • 原文地址:https://www.cnblogs.com/DeaconOne/p/12915319.html
Copyright © 2011-2022 走看看