在没有Flask或Django的情况下将简单的python脚本部署到Heroku

时间:2017-05-05 12:49:10

标签: python heroku

我试图部署python脚本,但是我收到了这个错误

Failed to detect app matching https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz buildpack

我现在有哪些文件:

automation.py

一个简单的python脚本,用于导入 praw 时间 os 检查

requirements.txt

如Heroku文档中所述,我通过运行pip freeze > requirements.txt创建了此文件,其中包含:

astroid==1.5.2
colorama==0.3.8
isort==4.2.5
lazy-object-proxy==1.2.2
mccabe==0.6.1
praw==4.4.1.dev0
prawcore==0.10.1
pylint==1.7.1
requests==2.13.0
six==1.10.0
update-checker==0.16
wrapt==1.10.10

runtime.txt

再次如Heroku文档中所述,此文件包含我的脚本的运行时,包含:

python-3.6.0

我已将我的遥控器更改为heroku,添加了所有文件,提交并推送到heroku master,但我收到了开头提到的错误。有什么我做错了吗?我见过this answer,但我不相信。如果可能的话,我想避免使用任何框架。

git ls-files output

.gitignore
LICENSE
README.md
requirements.txt
runtime.txt
automation.py

1 个答案:

答案 0 :(得分:1)

除了runtime.txtrequirements.txt之外,还需要Procfile - 这就是Heroku如何知道为您的应用运行的脚本。没有它,Heroku不知道automation.py有什么特别之处。但请注意 - 如果您的脚本没有侦听任何端口,请将进程名称定义为" worker"或者除了" web"之外的任何其他内容。如果您将其定义为" web" Heroku希望它绑定到外部可见端口(不在localhost上)。如果Heroku在60秒内没有检测到端口绑定,则会将应用报告为无法启动