码迷,mamicode.com
首页 > 数据库 > 详细

Django启动报错Did you install mysqlclient or MySQL-python

时间:2020-05-19 10:30:19      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:open   perl   分析   not   prope   __init__   client   loading   ons   

前言

今天在对数据迁移的时候遇到一坑,这个坑之前也是遇到过,在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.

Django启动报错Did you install mysqlclient or MySQL-python

标签:open   perl   分析   not   prope   __init__   client   loading   ons   

原文地址:https://www.cnblogs.com/DeaconOne/p/12915319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!