【问题标题】:After Mojave upgrade, experiencing Readline library errors. Python 3.5 is requiring Readline 7, but Brew installs only Readline 8Mojave 升级后,遇到 Readline 库错误。 Python 3.5 需要 Readline 7,但 Brew 只安装 Readline 8
【发布时间】:2019-02-25 15:17:45
【问题描述】:

升级到 MacOS Mojave 后,我使用 Homebrew 和 Pyenv 重建了我的 Python 开发环境。

  • 我首先更新了 XCODE 和我的 SDK 标头 (https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035624)。

    sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
  • 我使用自制软件安装了 Pyenv、Readline 和 XZ。

    $ brew update
    $ brew install pyenv readline xz
    
  • 然后我使用 Pyenv 安装了各种 Python 包:

    $ pyenv install 3.5.0
    $ pyenv install 2.7.10
    
  • Pyenv 安装程序告诉我它正在使用 Homebrew 的 readline。

    Installing Python-3.5.0...
    python-build: use readline from homebrew
    
  • 当我尝试运行 Python 程序时出现错误:

    ImportError: dlopen(/Users/me/.pyenv/versions/3.5.0/lib/python3.5/lib-dynload/readline.cpython-35m-darwin.so, 
    2): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
    Referenced from: /Users/me/.pyenv/versions/3.5.0/lib/python3.5/lib-dynload/readline.cpython-35m-darwin.so
    Reason: image not found
    
  • 查看 /usr/local/opt/readline/lib 我看到的只是版本 8 库。

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

此时我不知道我是否应该: A)弄清楚如何通过自制软件安装readline v.7,或者 B)以某种方式更新 pyenv 以不使用自制软件的 readline 而是安装库本身,或者 C) 别的东西。

我们将不胜感激。

【问题讨论】:

    标签: python homebrew macos-mojave pyenv libreadline


    【解决方案1】:

    如果您能够升级,这个问题似乎在 Python 3.7.2 中得到了解决。我在 Python 3.6.7 和 3.7.1 上都遇到了同样的问题,并且从来没有能够用自制软件完成任何形式的回滚到 readline v.7,由于某种原因,它似乎没有将任何以前的版本保持为水龙头.

    【讨论】:

      猜你喜欢
      • 2017-08-23
      • 1970-01-01
      • 2014-11-25
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多