【问题标题】:python mysqldb err on my mac :Library not loaded: @rpath/libmysqlclient.21.dylib我的 Mac 上的 python mysqldb 错误:库未加载:@rpath/libmysqlclient.21.dylib
【发布时间】:2018-06-23 15:49:01
【问题描述】:
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,但无法解决

【问题讨论】:

    标签: python mysql mysql-python


    【解决方案1】:

    所以,据我所知,@rpath 试图解析到 /usr/lib,但无法写入。我通过浏览this site 解决了这个问题。很多都是中文的,但我得到的是命令 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

    【讨论】:

    • 这不需要实现csrutil。
    【解决方案2】:

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

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

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

    您可以了解更多关于如何禁用和启用 macOS 的安全完整性保护here

    【讨论】:

    • 重启后,设置“csrutil disable”,再次重启,然后在/usr/lib中再次尝试,我得到:“ln: ./libmysqlclient.21.dylib: Read-only file系统”。所以没有快乐。
    • 好吧。绕过它。 “DYLD_LIBRARY_PATH=/usr/lib:/usr/local/mysql-8.0.19-macos10.15-x86_64/lib python3 mything.py”。有点像 PITA,但它有效。
    猜你喜欢
    • 2020-01-25
    • 2011-09-17
    • 2017-04-15
    • 2016-12-07
    • 2022-06-15
    • 2019-06-23
    • 1970-01-01
    • 2012-05-20
    • 2013-10-23
    相关资源
    最近更新 更多