Mojave升级后,遇到Readline库错误。 Python 3.5需要Readline 7,但Brew仅安装Readline 8

问题描述 投票:0回答:1

升级到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个回答
0
投票

如果您能够升级,这个问题似乎在Python 3.7.2中得到解决。我对Python 3.6.7和3.7.1都存在同样的问题,并且永远无法使用自制程序完成任何类型的回滚到readline v.7,由于某种原因,它似乎没有保留任何以前的版本作为tap 。

© www.soinside.com 2019 - 2024. All rights reserved.