Heroku Python远程拒绝错误

时间:2016-06-18 16:33:58

标签: python git heroku deployment

我正在创建一个简单的Python Bot,它可以像python file.py一样运行。我在我的电脑上创建了一个包含3个文件file.py list.txt Procfile的文件夹。在Procfile中我编写了worker: python file.py,我选择了worker作为命令行应用程序,我的计划是永远在服务器上运行该Python文件。比我做git initheroku git:remote -a py-bot-xyz其中py-bot-xyz是我在My Heroku仪表板中创建的应用程序而不是git add .git commit -am "make it better"&最后git push heroku master

这就是错误发生的地方,打印出


    remote: Compressing source files... done.
    remote: Building source:
    remote: 
    remote: 
    remote:  !     Push rejected, no Cedar-supported app detected
    remote: HINT: This occurs when Heroku cannot detect the buildpack
    remote:       to use for this application automatically.
    remote: See https://devcenter.heroku.com/articles/buildpacks
    remote: 
    remote: Verifying deploy....
    remote: 
    remote: !   Push rejected to py-bot-xyz.
    remote: 
    To https://git.heroku.com/py-bot-xyz.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://git.heroku.com/py-bot-xyz.git'

现在,当我去Heroku的Dashboard Build失败的活动。我现在能做什么? :(((

3 个答案:

答案 0 :(得分:1)

每个Heroku buildpack应用不同的测试来确定它是否适用。对于Python,buildpack会查找' requirements.txt'或者' setup.py'文件(见https://github.com/heroku/heroku-buildpack-python/blob/master/bin/detect)。如果您没有其中一个文件,可以通过heroku buildpacks:set heroku/python明确设置。见https://devcenter.heroku.com/articles/buildpacks#setting-a-buildpack-on-an-application

答案 1 :(得分:1)

要成功将python代码推送到heroku,你应该有一个requirements.txt和一个Procfile。转到终端/命令行中的项目文件夹,然后输入以下命令,这些命令将生成必要的文件。提交他们并推动应该工作。

  1. pip freeze > requirements.txt(如果使用较旧的python版本,可能需要安装pip)

  2. echo "worker: python yourfile.py" > Procfileworker如果是网站,则可以替换为web

答案 2 :(得分:0)

我遇到了同样的错误。因为我是这个领域的新手。 我使用的是“ requirement.txt”而不是“ requirements.txt”。

当心确切的拼写。