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

执行git push heroku master推送Django项目时出现No such file or directory错误的解决办法

修复Heroku推送Django项目时的OSError问题

我之前帮好几个开发者搞定过一模一样的问题,别慌,这本质是pip缓存损坏或者依赖配置出了小问题,咱们一步步来解决:

1. 清理本地pip缓存,重建依赖环境

这个报错里的路径是pip缓存里的无效目录,先把本地的pip缓存清干净:

  • 执行命令清空缓存:pip cache purge
  • 如果用了虚拟环境,先删掉旧的虚拟环境,重新创建并安装依赖:
    deactivate  # 退出当前虚拟环境
    rm -rf your_venv_name  # 替换成你的虚拟环境名称
    python -m venv your_venv_name
    source your_venv_name/bin/activate  # Windows系统用your_venv_name\Scripts\activate
    pip install -r requirements.txt
    

2. 更新requirements.txt中的依赖版本

报错涉及到alabaster包,旧版本的alabaster可能存在缓存路径的bug,咱们确保用最新稳定版:

  • 打开requirements.txt,如果里面指定了alabaster的旧版本,改成alabaster>=0.7.12(或者直接写alabaster让pip自动拉取最新版)
  • 也可以直接升级本地的alabaster,然后更新requirements.txt:
    pip install --upgrade alabaster
    pip freeze > requirements.txt
    

3. 让Heroku安装依赖时跳过缓存

如果本地修复后推送还是报错,咱们给Heroku加个pip配置,强制跳过缓存安装:

  • 在项目根目录新建pip.conf文件,写入以下内容:
    [global]
    no-cache-dir = true
    
  • 把这个文件加入git并提交:
    git add pip.conf
    git commit -m "Add pip config to skip cache on Heroku"
    

4. 重置Heroku的远程构建缓存

如果前面的方法都没效果,直接清空Heroku那边的构建缓存:

  • 执行命令:heroku builds:cache:purge
  • 然后重新推送项目:git push heroku master

一般来说,按这个顺序操作,这个OSError问题就能解决了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 08:59:08