mysqlclient修复image not found

Django项目要用到mysql,安装完mysqlclient之后,启动项目报错

INFO Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 16, in 
    import MySQLdb as Database
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/MySQLdb/__init__.py", line 18, in 
    from . import _mysql
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.so
  Reason: image not found
......

后面部分省略,主要看这部分,提示找不到libmysqlclient.20.dylib,之前为了安装mysqlclient,折腾了一大堆,brew update && brew upgrade,mysql又重新装了一遍,可能是由于这些原因导致的。

打印显示该目录下有一个libmysqlclient.21.dylib

-rw-r--r--    1 lijun  staff   7.0M  2 24 22:11 libmysqlclient.21.dylib
-r--r--r--    1 lijun  staff   7.7M 12 10 04:11 libmysqlclient.a
lrwxr-xr-x    1 lijun  staff    23B 12 10 04:11 libmysqlclient.dylib -> libmysqlclient.21.dylib
-r--r--r--    1 lijun  staff   683K  2 24 21:48 libmysqlharness.1.dylib
-r--r--r--    1 lijun  staff   7.8M  2 24 21:48 libmysqlrouter.1.dylib
-r--r--r--    1 lijun  staff   254K  2 24 21:48 libmysqlrouter_http.1.dylib
-r--r--r--    1 lijun  staff   9.5K 12 10 04:11 libmysqlservices.a
drwxr-xr-x   13 lijun  staff   416B 12 10 04:11 mysqlrouter
drwxr-xr-x    3 lijun  staff    96B  2 24 21:48 pkgconfig
drwxr-xr-x  105 lijun  staff   3.3K 12 10 04:11 plugin

索性想能不能加一个指向libmysqlclient.21.dylib的软连接libmysqlclient.20.dylib

ln -sfv /usr/local/opt/mysql/lib/libmysqlclient.21.dylib /usr/local/opt/mysql/lib/libmysqlclient.20.dylib

重新运行项目

python3.8 manage.py runserver                                                                                                          [22:11:52]
INFO Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 20 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, book, contenttypes, crawler, sessions, user.
Run 'python manage.py migrate' to apply them.

February 24, 2020 - 22:14:58
Django version 3.0.3, using settings 'bookstore.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

OK,解决~

你可能感兴趣的:(mysqlclient修复image not found)