You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1(arm-64)下pyenv+Python3.9.13安装uWSGI失败求助

解决Mac M1(arm64)安装uWSGI时ld: library not found for -lintl错误

问题背景

在Mac M1(arm-64)设备上,使用pyenv管理的Python 3.9.13尝试从PyPI安装uWSGI时,链接阶段报错ld: library not found for -lintl。已创建config-3.9-darwin符号链接,但问题未解决。环境配置:

  • Python 3.9.13
  • pip 22.2.2
  • pyenv 2.3.3
  • 操作系统:Monterey 12.4

解决思路

方案1:安装gettext依赖并指定编译路径

-lintl是libintl库的链接参数,该库属于gettext工具集,Mac M1系统默认未预装。通过Homebrew安装后,让编译器能定位到该库:

  1. 安装gettext:
brew install gettext
  1. 设置环境变量并安装uWSGI:
export LDFLAGS="-L$(brew --prefix gettext)/lib"
export CPPFLAGS="-I$(brew --prefix gettext)/include"
pip install uwsgi

方案2:强制uWSGI跳过intl库链接

如果不需要uWSGI的国际化(i18n)功能,可以直接禁用对intl库的依赖:

pip install uwsgi --install-option="--no-lintl"

方案3:重新编译pyenv管理的Python

若pyenv安装的Python未正确关联gettext依赖,可能导致扩展编译时找不到库。重新编译Python并指定依赖路径:

  1. 卸载现有Python版本:
pyenv uninstall 3.9.13
  1. 设置环境变量并重新安装Python:
export LDFLAGS="-L$(brew --prefix gettext)/lib"
export CPPFLAGS="-I$(brew --prefix gettext)/include"
pyenv install 3.9.13
  1. 切换到该版本后重新安装uWSGI:
pyenv local 3.9.13
pip install uwsgi

内容的提问来源于stack exchange,提问作者Louis Hulot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 23:45:38