2017-05-05 36 views
0

我想部署一個python腳本,但我得到這個錯誤部署一個簡單的Python腳本的Heroku無瓶或Django的

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

我現在所擁有的文件:

自動化。 PY

其中進口praw時間操作系統一個簡單的Python腳本檢查

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如上所述

再次:

requirements.txt

如Heroku的文獻中描述的,我已經通過運行pip freeze > requirements.txt,包含創建該文件在Heroku文檔中,該文件包含我的腳本的運行時間,其中包含:

python-3.6.0 

我已經將我的遙控器更改爲heroku,添加了所有文件,提交併推送給heroku主控制器,但是我得到了開頭提到的錯誤。有什麼我做錯了嗎?我見過this answer,但我不相信。如果可能的話,希望避免任何框架。

git的LS-文件輸出

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

嗯。我只是建立了一個沒有問題的無框架腳本。我注意到的一件事是文檔引用'python-3.6.1'而不是'python-3.6.0'。你嘗試過切換嗎?另外,爲了進行健全性檢查,你可以把'git ls-files'和'Procfile'的輸出結果嗎? – bimsapi

+0

@bimsapi我添加了ls文件,但我沒有Procfile。它需要嗎? –

+1

是的,很確定'Procfile'是必需的 - Heroku知道如何運行你的應用程序。沒有它,Heroku不知道'automation.py'是什麼特別的。但請注意 - 如果automation.py'不監聽任何端口,請將進程名稱定義爲'worker'或其他東西。如果你將它定義爲'web',Heroku會希望它綁定到一個外部可見的端口(不在本地主機上)。如果Heroku未檢測到端口綁定,則會報告應用程序啓動失敗。 – bimsapi

回答

1

除了runtime.txtrequirements.txt,一個Procfile需要 - 這是怎樣的Heroku知道什麼腳本來爲您的應用程序運行。沒有它,Heroku不知道automation.py是什麼特別的。請注意,如果您的腳本不在任何端口上偵聽,請將進程名稱定義爲「worker」或除「web」之外的任何其他名稱。如果你將它定義爲「web」,Heroku會希望它綁定到一個外部可見的端口(不在本地主機上)。如果Heroku在60秒內未檢測到端口綁定,則報告應用程序啓動失敗