升级到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)其他。
任何帮助将不胜感激。
答案 0 :(得分:0)
如果您能够升级,此问题似乎已在 Python 3.7.2 中解决。我在使用Python 3.6.7和3.7.1时都遇到了同样的问题,并且无法通过自制程序完成对readline v.7的任何回滚,由于某种原因,它似乎并没有保留任何以前的版本