Mac Ventura下用pyenv安装Python3.11时curses扩展编译失败
问题:Intel Mac Ventura 13.3下pyenv安装Python 3.11失败(_curses模块缺失)
我在Intel架构的Mac Ventura 13.3系统上,尝试使用pyenv(一款可按项目管理多Python版本的实用工具)安装Python 3.11,执行以下命令时:
pyenv install 3.11
出现如下错误:
ModuleNotFoundError: No module named '_curses'
WARNING: The Python curses extension was not compiled. Missing the ncurses lib?
已尝试的解决方法
安装ncurses并配置环境变量
brew install ncurses export CPPFLAGS="-I$(brew --prefix ncurses)/include" export LDFLAGS="-L/usr/local/opt/ncurses/lib" export PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig" pyenv install 3.11
手动链接Homebrew库(参考GitHub相关讨论)
export CFLAGS="-I$(brew --prefix zlib)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix openssl)/include -I$(brew --prefix readline)/include -I$(brew --prefix ncurses)/include -I$(xcrun --show-sdk-path)/usr/include" export LDFLAGS="-L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib -L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix ncurses)/lib -L$(xcrun --show-sdk-path)/usr/lib" pyenv install 3.11
此外,我还重新安装了xcode-select并再次尝试上述步骤。目前困惑的是,我能在/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include路径下找到ncurses.h文件。
pyenv的安装方式
- 通过Homebrew安装pyenv:
brew update brew install pyenv
- 在.zshrc和.zprofile中配置路径:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc
- 安装Python编译依赖:
brew install openssl readline sqlite3 xz zlib tcl-tk
内容的提问来源于stack exchange,提问作者KCQs
相关产品推荐
相关产品推荐

