Próbuję uruchomić hello.py z this Python Heroku tutorial. Moje problemy zaczęły się po uruchomieniu tego polecenia: foreman start
. Mam następujący błąd, mimo że zainstalowano Heroku Toolbelt:Bad deskryptor pliku - Heroku Foreman
foreman is not recognized as an internal or external command, operable program or batch file
Więc dodałem lokalizację pliku majster (wersja 0.63.0) do mojego ścieżce:
C:\Program Files (x86)\Heroku\ruby-1.9.2\bin
i ponownym uruchomieniu wiersz polecenia i reran foreman start
. Teraz dostaję ten błąd:
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
C:\Users\me\Desktop\Code\heroku_python_app>venv\Scripts\activate
(venv) C:\Users\me\Desktop\Code\heroku_python_app>foreman start
Bad file descriptor
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:372:in `read_nonblock'
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:372:in `block (2 levels) in watch_for_output'
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:368:in `loop'
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:368:in `block in watch_for_output'
12:57:38 web.1 | exited with code 1
12:57:38 system | sending SIGKILL to all processes
(venv) C:\Users\me\Desktop\Code\heroku_python_app>
hello.py
import os
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World'
Procfile
web: gunicorn hello:app
EDIT 1
Po przeczytaniu this answer, zrobiłem co następuje:
gem uninstall foreman
gem install foreman -v 0.61.0
Jednak, kiedy reran foreman start
dostaję ten błąd teraz
(venv) C:\Users\me\Desktop\Code\heroku_python_app>foreman start
14:13:20 web.1 | started with pid 252
14:13:20 web.1 | exited with code 1
14:13:20 system | sending SIGKILL to all processes
14:13:20 | Traceback (most recent call last):
14:13:20 | File "C:\Users\me\Desktop\Code\heroku_python_app\venv\Scri
pts\gunicorn-script.py", line 9, in <module>
(venv) C:\Users\me\Desktop\Code\heroku_python_app>
Każda pomoc będzie bardzo mile widziane. Z góry dziękuję.
Zaczynam zdawać sobie sprawę, że Heroku nie jest popularnym tematem na SO w ogóle! Wygląda to tak fajnie i interesująco, nie jestem pewna, dlaczego nikt tak nie myśli. – Anthony
Czy możesz uruchomić polecenie sieciowe ze swojego pliku Procfile bez programu Foreman? – georgebrock
+1 Dziękujemy za odpowiedź @georgebrock. Jak uruchomić polecenie sieciowe z pliku Procfile bez programu Foreman? Samouczek tego nie wyjaśnia. Czy Gunicorn działa również w systemie Windows? Ponieważ kiedy poszedłem na stronę Gunicorn, powiedział, że to dla Unixa. – Anthony