0

在升级到 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)其他东西。

任何帮助将不胜感激。

4

1 回答 1

0

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

于 2019-03-07T20:55:34.517 回答