在升级到 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)其他东西。
任何帮助将不胜感激。