【发布时间】:2020-08-22 15:18:03
【问题描述】:
是的,这似乎是一个常见错误。但是我的环境还有其他问题。我已经从 MySQL 5.6 版本升级到 5.7。
我可以通过在控制台输入mysql来访问mysql5.7。
我已更新 DYLD_LIBRARY_PATH 以反映新的 5.7 位置
git:(parent-child) ✗ echo $DYLD_LIBRARY_PATH
/usr/local/opt/mysql@5.7/lib/:
但是由于某种原因,错误仍然说它正在尝试从 5.6 版本加载。
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/Users/vineeth/envs/automize2.0/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
import MySQLdb as Database
File "/Users/vineeth/envs/automize2.0/lib/python3.7/site-packages/MySQLdb/__init__.py", line 18, in <module>
from . import _mysql
ImportError: dlopen(/Users/vineeth/envs/automize2.0/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib
Referenced from: /Users/vineeth/envs/automize2.0/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so
Reason: image not found
注意错误提示它仍在尝试定位 /usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib
自从出现此错误以来,我几乎重新安装了所有内容。
尝试了几种解决方案
Python mysqldb: Library not loaded: libmysqlclient.18.dylib
rails + MySQL on OSX: Library not loaded: libmysqlclient.18.dylib
似乎没有任何改变它的参考。
如何让它引用/usr/local/opt/mysql@5.7/lib/中的较新的
还使用 pip 重新安装了mysqlclient,但仍然没有运气。
欢迎帮助。从一天开始就一直在挣扎。
【问题讨论】:
-
您是否还重新创建了该 virtualenv,以确保编译新版本的 MySQLdb 二进制模块 (
_mysql)? -
另外,您不需要修改 DYLD_LIBRARY_PATH。
-
是的,我尝试在新环境中使用新项目运行该项目。同样的错误。
-
你用的是
mysqlclient还是老旧的MySQL-python? -
当你安装它时,它是从源代码编译还是使用缓存的轮子?