Heroku部署Python文件失败:无法检测默认语言
解决Heroku部署单Python文件时的语言检测失败问题
我之前也碰到过一模一样的坑!Heroku的自动语言检测机制有点“认死理”——光有一个.py文件它没法确定这是Python项目,哪怕你手动设置了Buildpack,缺了关键配置文件也跑不起来。给你几个必做的步骤:
先补上两个核心配置文件
requirements.txt:哪怕你的脚本完全没有第三方依赖,也得建这个文件(空的也行)。如果有依赖,就把包名和版本写进去,比如requests==2.31.0。这个文件是Heroku识别Python项目的关键标识之一。Procfile:告诉Heroku怎么启动你的脚本。文件里只需要一行内容:web: python 你的脚本文件名.py。如果你的脚本不是web服务(比如是定时任务或者后台脚本),可以把web换成worker,之后记得在Heroku控制台启动对应的dyno类型。
手动指定Python Buildpack(可选但更稳妥)
执行这条命令强制Heroku使用Python环境:heroku buildpacks:set heroku/python重新提交部署
把新文件加到git里再推上去:git add requirements.txt Procfile git commit -m "添加Heroku部署所需配置文件" git push heroku main
为啥之前会报错?因为Heroku自动检测的时候,需要看到requirements.txt、setup.py这类标志性文件才会判定为Python项目,你只有单个.py文件,它根本识别不出来。就算手动设了Buildpack,没有Procfile的话,Heroku也不知道该怎么运行你的应用,自然会部署失败。
内容的提问来源于stack exchange,提问作者Pittsie
相关产品推荐
相关产品推荐

