《老笔记本 AI 工作流踩坑记》目标很简单:装个 Aider(开源命令行 AI 编程助手),接到自己搭的免费模型网关上。结果装了五次才成功。五次失败,五个坑,每个都值得单独说。
装 aider-chat,pip 报 No space left on device。第一反应是磁盘满了,df -h 一看,根盘还剩 5.7G,缓存放的 ~/.cache 也不大。这就见了鬼了。
逐个分区查,最后 df -h /tmp 现了原形:我的 /tmp 是个 10MB 的内存盘(deepin 23.1 挂载方式如此)。pip 安装时要解压 wheel 包,随便一个包都比 10MB 大,必炸。
解法一行:给 pip 指定临时目录。
教训:"没有空间"不一定是你想的那块盘。tmpfs 挂载点小、inode 耗尽,症状都一样。
修好 /tmp 再装,报错变了:构建依赖里缺 setuptools。Python 3.12 之后的新 venv 默认不预装它,有些包要现场编译就抓瞎。补一句 pip install setuptools wheel 过。
aider 依赖 numpy,而我的托管 Python 是 3.13——太新了,匹配的预编译 wheel 链条断了一环,pip 回退源码编译,然后撞上 3.13 移除的旧 API(pkgutil.ImpImporter 一类),编译失败。
试了 --only-binary=:all: 强制只用 wheel,还是有个依赖在 3.13 上没有货。结论:太新的 Python 在老机器上是负债不是资产,换 3.12。
换系统自带的 Python 3.12 建 venv,报 ensurepip is not available,提示装 python3.12-venv。
在我的环境里这条路是死的:WorkBuddy 沙箱里 apt/dpkg 一律 EPERM,锁文件碰都不让碰。让用户在自己终端跑 sudo apt install python3.12-venv?他跑了,回头一查 dpkg,包根本没装上——八成是源或代理又出了问题,apt 报错退出了他没注意。
到这里,"装 venv 组件"这个前提彻底断供,必须绕。
venv 的 pip 是 ensurepip 塞进去的,但 venv 模块本身支持 --without-pip——先建一个没有 pip 的空壳,再手动引导:
十几分钟后装完,aider --version 出号,接上免费模型网关实测:让它把 print("hi") 改成输出中文,一次改对。五连败收官。
502 Bad Gateway。解法是安装时剥掉代理变量、直连国内镜像:env -u http_proxy -u https_proxy pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <包>。curl 访问 127.0.0.1 的本地服务同理要加 --noproxy '*'。nohup xxx & 根本活不过一条命令。长驻服务要用平台的后台任务机制托管,这是我第三次看到有人(包括我)在这上面浪费时间。五个坑,单独看都不难,难的是它们串成连环坑:修好一个,下一个才露头。五次失败里真正卡死人的只有两个——/tmp 10MB 和 apt 不可用,其余是 Python 版本生态的常规摩擦。
方法论就一条:报错信息说什么不重要,重要的是每次失败后把"这次和上次报错一样吗"确认清楚。五次失败报错文本各不相同,恰恰说明每次都在往前走;如果连续两次报错一样,那才是真的卡住了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。