【问题标题】:Homebrew pyenv install error dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylibHomebrew pyenv安装错误dyld:未加载库:/usr/local/opt/readline/lib/libreadline.7.dylib
【发布时间】:2019-07-13 14:09:20
【问题描述】:

在 MacOS Mojave 上从 Homebrew 安装 pyenv 后,我在尝试安装任何 python 版本时遇到构建错误。

当为任何版本运行 pyenv install 时,构建将失败并出现错误:

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/awk
  Reason: image not found

【问题讨论】:

    标签: python macos homebrew pyenv libreadline


    【解决方案1】:
    ln -sf /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
    

    【讨论】:

    • 小心使用强制标志-f,因为它可能会覆盖正在运行的安装。如果您收到-s 的错误。在覆盖之前尝试使用ls -l 检查链接指向的内容。
    【解决方案2】:

    我的解决方案是强制链接我在/usr/local/opt/readline/lib/ 下拥有的 readline 8 库。

    > cd /usr/local/opt/readline/lib/
    > ls
    libhistory.8.0.dylib  libhistory.a          libreadline.8.dylib   libreadline.dylib
    libhistory.8.dylib    libhistory.dylib      libreadline.8.0.dylib libreadline.a         pkgconfig
    

    由于我有一个较新版本的 readline lib,我试图通过将它符号链接到它正在寻找的文件名来强制它找到我拥有的那个。例如

    > cd /usr/local/opt/readline/lib/
    > ln -s libreadline.8.0.dylib libreadline.7.dylib
    > ls
    libhistory.8.0.dylib  libhistory.a          libreadline.7.dylib   libreadline.8.dylib   libreadline.dylib
    libhistory.8.dylib    libhistory.dylib      libreadline.8.0.dylib libreadline.a         pkgconfig
    

    pyenv install x.y.z 现在应该可以工作了(或者至少抛出一个不同的错误;)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-01
      • 2014-02-24
      • 2017-04-01
      • 2021-07-14
      • 2020-04-19
      • 2020-03-19
      • 2018-11-11
      相关资源
      最近更新 更多