2013-04-03 46 views
19

執行heroku python演示並遇到Procfile問題。我把它放在正確的目錄中(與requirements.txt,venv /和app.py一起),並且文件是「Procfile」,沒有.txt擴展名(如其他問題所示)。未找到Procfile,Heroku python應用程序

Procfile的內容是:

web: python app.py 

不過,我不斷收到運行時,「Procfile不存在」錯誤「工頭開始。」在我的智慧結尾,任何建議,將不勝感激。

乾杯, 塞恩

編輯:創建重試的 「Procfile」 使用echo命令,而不是編輯 -

echo "web: python app.py" > Procfile 

的工作之後,謝謝。

+0

也許關閉這個呢? – catsby

+0

這只是爲我工作了一個多小時後,試圖找到這個問題的答案 – jac300

+2

8個人upvoted這個問題,這意味着有某種共同的問題。也許你可以在你自己的問題上發佈一個答案,解釋你的編輯器有什麼不同?如果我用vim創建這樣一個文件,它將與該echo命令的結果相同 - 因此,您使用了哪種編輯器,保存的文件與工作的文件有什麼不同?你的編輯器是否強制使用Unicode,或者添加一個你沒注意到的文件擴展名? –

回答

13

只需添加一個答案,以便可以關閉(或從未答覆的問題部分移出)。

如評論中所述,請嘗試使用echo命令創建文件而不是編輯器。我懷疑這是因爲大多數編輯添加了一個換行符,那麼heroku會遇到困難。

實施例溶液(來自QN):

echo "web: python app.py" > Procfile 
5

的問題是最有可能的擴展問題。例如,在Windows中,默認情況下,保存在記事本中的文件的擴展名爲.txt。但是,當您將其回顯到文件中時,該文件將以正確的名稱保存,本例中爲:Procfile

我寫這篇文章是因爲我認識的人有同樣的問題,這可能會幫助其他人有同樣的問題。

+1

+1歡迎來到Stack Overflow! – Augiwan

0

我有同樣的問題,但在laravel。如上所述,如果您不指定文件擴展名,某些文本編輯器(如記事本)將默認添加.txt擴展名。

因此,你將有Procfile.txt文件,而不是它的Heroku不會檢測

爲了避免這種擴展此外Procfile文件,使用崇高的文本編輯器download sublime free將其保存沒有.txt擴展

0

的創建一個procfile最簡單的方法就是在終端中運行這個代碼(不使用IDE並遇到文件擴展名的問題)。

touch procfile 

如果你查找「觸摸」,它實際上意味着簡單地更新現有文件的時間戳,而是一個方便的副產品,是它創建了一個文件,如果沒有一個有在第一個地方。

1

在此花費大量時間後,我認爲這是重要的分享..

在你的根目錄=> touch Procfile git add git commit git push

確保您Procfile在github上是 「Procfile」 而不是 「procfile」

git push heroku master

這兩者必須在適當的情況下,本地和github上,以便heroku識別它。

2

從文件夾刪除.git的文件,並嘗試將您的文件再次使用下面的命令 -

的git的init

git的添加與git。

git的承諾-m

Heroku的混帳 「解決Procfile問題」:遠程--app yourappname

混帳推Heroku的主

Heroku的開放

希望這有助於....