(Mac)torch==2.1.2 与 Python 3.12 不兼容+onnxruntime-silicon 不支持 Intel Mac



🔍 错误原因

  1. 虽然你现在用的是 Python 3.11,但 onnxruntime-silicon 这个包只支持 Apple Silicon(arm64)Mac,不支持 Intel(x86_64)
  2. 加上 uv 会检查所有 Python 版本的兼容性,哪怕你当前用的是 3.11,它也会因为"不兼容其他版本"而报错
  3. 同时,你的 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 版本的兼容性,避免额外报错。
相关推荐
xieliyu.1 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
love530love1 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
遇事不決洛必達1 小时前
【Python基础】GIL 锁是什么及其对爬虫的影响
爬虫·python·线程·进程·gil锁
CryptoPP2 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫2 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
探物 AI2 小时前
把 MambaOut 塞进 YOLOv11:会有什么样的反应
python·yolo·计算机视觉
如竟没有火炬3 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
阳区欠3 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain
Cosolar3 小时前
保姆级 CrewAI 教程:从零构建多智能体协作系统
人工智能·python·架构
Jinkxs3 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链