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

部署大型Django项目至Heroku遇Pipfile.lock过期及推送问题求助

解决Heroku部署Django项目时Pipfile.lock过期的问题

嘿,我之前部署Django项目到Heroku时也踩过这个Pipfile.lock过期的坑,给你整理几个亲测有效的解决步骤:

步骤1:重新生成Pipfile.lock

过期的锁文件通常是因为本地依赖环境和Pipfile配置不匹配,或者锁文件太久没更新导致的。你可以在本地Python2.7环境下执行:

pipenv lock

这个命令会根据你的Pipfile重新生成最新的锁文件。如果执行过程中出现依赖冲突,你需要先调整Pipfile里的包版本,确保所有依赖都兼容Python2.7。

步骤2:统一依赖配置,避免冲突

Heroku部署时如果同时存在Pipfile和requirements.txt,有时候会出现优先级混淆的情况。建议你暂时移除(或重命名)requirements.txt,让Heroku完全基于Pipfile的配置来构建环境,这样能减少因为双重依赖文件导致的版本不匹配问题。

步骤3:检查runtime.txt的格式

Heroku对runtime.txt的格式要求非常严格,不能只写python 2.7,必须指定具体的小版本,比如:

python-2.7.18

你可以先确认Heroku支持的Python2.7具体版本,然后把runtime.txt的内容修改成对应格式,这样Heroku才会使用你指定的Python版本,避免和Pipfile里的版本不一致导致锁文件过期。

步骤4:重新提交并推送

把更新后的文件提交到git:

git add Pipfile.lock runtime.txt
# 如果移除了requirements.txt,执行下面的命令
git rm requirements.txt
git commit -m "Fix Pipfile.lock expiration and align Python version"
git push heroku master

额外提醒

Python2.7已经停止官方维护很长时间了,Heroku虽然目前还支持,但后续可能会逐步移除对它的支持。如果你的项目有条件升级到Python3.x,建议尽早规划升级,避免后续遇到更多兼容性问题。


$ git push heroku master
Counting objects: 12159, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4853/4853), done.
Writing objects: 100% (12159/12159), 2...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:28:52