在 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
在 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
ln -sf /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
我的解决方案是强制链接我拥有的 readline 8 库/usr/local/opt/readline/lib/
。
> 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
现在应该可以工作(或者至少抛出一个不同的错误;)。