繁体   English   中英

我的 mac 上的 python mysqldb 错误:未加载库:@rpath/libmysqlclient.21.dylib

[英]python mysqldb err on my mac :Library not loaded: @rpath/libmysqlclient.21.dylib

import MySQLdb

造成

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.13-intel/egg/MySQLdb/__init__.py", line 19, in <module>
  File "build/bdist.macosx-10.13-intel/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.13-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/simon/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.13-intel.egg-tmp/_mysql.so, 2): Library not loaded: @rpath/libmysqlclient.21.dylib
  Referenced from: /Users/simon/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.13-intel.egg-tmp/_mysql.so
  Reason: image not found`

我尝试构建并安装 mysql-python 和ln -s /usr/local/mysql/lib/libmysqlclient.18.dyli ,但无法解决

因此,据我所知,@rpath 尝试解析为无法写入的 /usr/lib。 我通过爬行这个网站解决了这个问题。 很多都是中文的,但我得到的是命令 sudo install_name_tool -change @rpath/libmysqlclient.21.dylib /usr/local/mysql/lib/libmysqlclient.21.dylib /Users/[username]/.pyenv/versions/career/lib/python2.7/site-packages/_mysql.so

我做了一些类似于 Sam 所做的事情,并且能够让它发挥作用。

我只是复制了位于我最新安装的 MySQL 8.0.13 中的libmysqlclient.21.dylib文件,该文件位于/usr/local/mysql/lib ,并将该副本以相同的名称移动到/usr/lib

您将需要暂时禁用 mac 上的安全完整性保护,但是要执行此操作,因为如果不禁用它,您将无法或无法更改/usr/lib任何内容的权限。 您可以通过启动进入恢复系统来执行此操作,单击顶部菜单上的实用程序,然后打开终端并在终端中输入csrutil disable 请记住在完成此操作后重新打开安全完整性保护! 与上述过程的唯一区别是您改为运行csrutil enable

您可以在此处找到有关如何禁用和启用 macOS 的安全完整性保护的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM