Es ist ziemlich schwierig.
Fehler in $ heroku logs --tail aufgetreten
error code=H10 desc="App crashed"
error code=h14 desc="no web processes running"
Eine solche.
Die Bewältigungstherapie mit Stapelüberlauf usw. löst nicht jedes Problem.
Es funktionierte jedoch auf folgende Weise gut.
$ virtualenv flaskapp
$ cd flaskapp
$ source bin/activate
$ (flaskapp) $
Zum Beispiel
$ (flaskapp) $ pip install requests
$ (flaskapp) $ pip install Flask
Toka Toka.
Hier sind Gunicorn und Flask installiert.
$ (flaskapp) $ pip3 install Flask gunicorn
[Gunicorn-Referenz]: Gunicorn ist der WSGI-HTTP-Server (Web Server Gateway Interface) von Python und ein Derivat von Ruby's Unicorn. Gunicorn ist ein leichter Server mit einer im Vergleich zu verschiedenen Frameworks sehr einfachen Implementierung. Referenz: https://qiita.com/arata-honda/items/09e1c350b1bd8a186e9c [Wie benutzt man] Installieren Sie Gunicorn mit Pip installieren Sie Gunicorn, Beginnen Sie mit Gunicorn Hallo: App.
Angenommen, Sie haben sich bei Heroku angemeldet
$ (flaskapp) $ wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
$ (flaskapp) $ heroku login
$ echo "web: gunicorn app:app --log-file -" > Procfile
$ (flaskapp) $ pip3 freeze > requirements.txt
Click==7.0
Flask==1.1.1
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.10.3
MarkupSafe==1.1.1
Werkzeug==0.16.0
--runtime.txt (optional)
$ (flaskapp) $ python -V | sed -n "s/Python /python-/p" > runtime.txt
from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))
Miso ist hier nicht nur app.run ().
Überprüfen Sie zu diesem Zeitpunkt, ob es lokal funktioniert.
$ (flaskapp) $ python app.py
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
$ curl http://127.0.0.1:5000
Hello World!
$ (flaskapp) $ git init
$ (flaskapp) $ echo "*.DS_Store" > .gitignore
$ (flaskapp) $ git add .
$ (flaskapp) $ git commit -m 'first commit'
$ (flaskapp) $ heroku create
$ (flaskapp) $ git push heroku master
Ein weiterer Bildschirm wurde geöffnet und Hello World wurde sicher angezeigt.
Selbst wenn ich einer App einen "statischen Ordner" hinzufüge, der häufig in Flask verwendet wird, und ihn für Heroku bereitstelle, kann er nicht auf Heroku erstellt werden. Der Grund ist, dass Git leere Ordner ignoriert. Wenn Sie die Datei in den statischen Ordner legen und dann bereitstellen, wird ein statischer Ordner erstellt.
Referenz: [Vollständige Version] Verfahren zum Bereitstellen der mit Flask erstellten API für Heroku (Hinweis) Referenz: [Fehler: Keine solche Datei oder kein solches Verzeichnis: '/ app / {myappname} / static' ”](https://stackoverflow.com/questions/19323513/heroku-django-oserror-no-such-file-or- Verzeichnis-App-myappname-statisch)
Recommended Posts