


🔍 错误原因
- 虽然你现在用的是 Python 3.11,但
onnxruntime-silicon这个包只支持 Apple Silicon(arm64)Mac,不支持 Intel(x86_64) - 加上
uv会检查所有 Python 版本的兼容性,哪怕你当前用的是 3.11,它也会因为"不兼容其他版本"而报错 - 同时,你的
requires-python没有写死范围,导致uv默认允许更高版本的 Python,进一步放大了问题
✅ 最终版可直接复制的 pyproject.toml
这个配置完全适配你的 Intel Mac + Python 3.11,并且解决了所有依赖冲突:
toml
[project]
name = "ai-test-agent-system"
version = "0.1.0"
description = "Add your description here"
# 强制锁定 Python 版本,避免 uv 检查其他版本导致报错
requires-python = "==3.11.*"
dependencies = [
"langchain>=1.2.12",
"langchain-deepseek>=1.0.1",
"langchain-mcp-adapters>=0.2.1",
"langgraph-cli[inmem]>=0.4.15",
"pillow>=12.1.1",
"langchain-community>=0.3.0",
"langchain-openai>=0.3.0",
# 把 pymupdf4llm 降级到不强制高版本 onnxruntime 的版本
"pymupdf4llm<0.0.20",
# 用官方最后支持 Intel Mac 的 onnxruntime 版本
"onnxruntime==1.16.3",
# 用官方最后支持 Intel Mac 的 torch 版本
"torch==2.1.2",
"torchvision==0.16.2",
"torchaudio==2.1.2"
]
[tool.uv]
# 强制 uv 只考虑你的 Intel Mac + Python 3.11 环境
required-environments = [
"python_version == '3.11' and sys_platform == 'darwin' and platform_machine == 'x86_64'"
]
🛠️ 执行步骤(按顺序来)
python
uv venv
source .venv/bin/activate
1025 pyenv install 3.11.11
1026 pyenv local 3.11.11
1027 source ~/.zshrc
1028 python --version
1029 uv sync
💡 关键说明
- 为什么不用
onnxruntime-silicon? 它的名字里的silicon就是指 Apple Silicon 芯片,Intel Mac 用不了,所以直接用官方最后一个支持 Intel 的onnxruntime==1.16.3更稳。 - 为什么降级
pymupdf4llm? 新版本的pymupdf4llm会强制依赖高版本onnxruntime,降级到<0.0.20就能兼容1.16.3。 - 为什么写死
requires-python = "==3.11.*"? 这样uv就不会再去检查 3.12/3.13 版本的兼容性,避免额外报错。