כישלון בהעלאה לheroku

תגיות:

הי אז שיניתי את זה למשתני הסביבה וזה רץ סבבה בflask, והעברתי לgithub והעליתי שוב לheroku ועדיין זה לא מוכן להעלות את האתר כמו שצריך ואני מקבל את התגובה הזאת:

יש לך אולי עוד רעיון לסיבה אפשרית?

  1. מה כתוב ב־log?
  2. איך נראית עכשיו app.py?
  3. מה עוד ניסית לעשות?

-----> Python app detected
-----> Installing python-3.6.12
-----> Installing pip 20.1.1, setuptools 47.1.1 and wheel 0.34.2
-----> Installing SQLite3
-----> Installing requirements with pip
Collecting certifi==2020.6.20
Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
Collecting chardet==3.0.4
Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting click==7.1.2
Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting Flask==1.1.2
Downloading Flask-1.1.2-py2.py3-none-any.whl (94 kB)
Collecting idna==2.10
Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting itsdangerous==1.1.0
Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting Jinja2==2.11.2
Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
Collecting MarkupSafe==1.1.1
Downloading MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)
Collecting requests==2.24.0
Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting urllib3==1.25.11
Downloading urllib3-1.25.11-py2.py3-none-any.whl (127 kB)
Collecting Werkzeug==1.0.1
Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Installing collected packages: certifi, chardet, click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, Flask, idna, urllib3, requests
Successfully installed Flask-1.1.2 Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 certifi-2020.6.20 chardet-3.0.4 click-7.1.2 idna-2.10 itsdangerous-1.1.0 requests-2.24.0 urllib3-1.25.11
-----> Discovering process types
Procfile declares types -> web
-----> Compressing…
Done: 51.3M
-----> Launching…
Released v4
https://find-your-movie123.herokuapp.com/ deployed to Heroku

from flask import Flask, render_template, request

import requests

import os

app = Flask(name)

@app.route(’/’)

def main():

name = request.args.get("name")

year = request.args.get("year")

if not name:

    return render_template('index.html', movies={})

url = "http://www.omdbapi.com"

#with open('apiKey.txt') as file:

    #apiKey = file.read()

apiKey = os.getenv("API_KEY")

params = {'apikey': apiKey, 's': name}

try:

    params['y'] = int(year)

except ValueError:

    pass

resp = requests.get(url, params=params)

try:

    resp_json = resp.json()

except ValueError:

    return render_template('index.html', movies={})

return render_template('index.html', movies=resp_json.get('Search', {}))

@app.route(’/search’)

def search_by_title():

id = request.args.__getattribute__("choice")

url = "http://www.omdbapi.com"

with open('apiKey.txt') as file:

    apiKey = file.read()

params = {'apikey': apiKey, 't': id}

resp = requests.get(url, params=params)

resp_json = resp.json()

return render_template('index.html', chosen_movie=resp_json)

@app.route(’/view_image/<image_name>’)

def search_by_image(image_name):

url = "http://www.omdbapi.com"

with open('apiKey.txt') as file:

    apiKey = file.read()

params = {'apikey': apiKey, 't': image_name, 'plot': 'full'}

resp = requests.get(url, params=params)

resp_json = resp.json()

return render_template('index.html', chosen_movie=resp_json)

עדיין יש לך מקומות בהם אתה מנסה לקרוא את הקובץ apiKey.

לא, אני שמתי אותם בהערה, זה לא העתיק את זה לפה משום מה.

  1. ניסיתי לכתוב heroku logs ב cmd וזה נתן לי ערכים שאני לא מבין:

ניסיתי לגגל את זה ובאופן כללי אני בדף שלהם אבל זה לא עובד.

אחר כך הקלדתי heroku logs --tail וקיבלתי את כל אלה:

ראיתי שהרבה הערות התייחסו לfavicon.ico אז שמתי את השורה בה הוא מופיע בהערה ועדיין אני מקבל אותו בתור error בlogs

הורדתי את favicon.ico מכל מקום אפשרי ואיכשהו אני עדיין מקבל אותו בהערות שלי

הוא לא מופיע בגיט האב וידאתי את זה

אתה צריך להכניס דגל אחרי הפעולה, למשל:
heroku logs -app YOUR_APP_NAME

גם לי היו לא מעט תקלות שהיו נראות לא קשורות (כולל ה-favicon שזה לא תקלה בעייתית להבנתי), גללתי למעלה קצת בlogs וראיתי שגיאת פייתון בודדה וקטנה שגרמה לאפליקציה לקרוס…

גם לך זה הראה את זה בהתחלה?

לא, אצלי זה זיהה את האפליקציה…

אולי משהו לא בסדר עם gunicorn, הוא בוודאות בrequirements?

האמת שזה עובד לי עם -a במקום app אבל עדיין זה מחזיר לי את אותו הלוג ממוקדם, עם הfavicon.ico, למרות שאני לא מצליח להבין מאיפה הוא מביא אותו אם מחקתי אותו לחלוטין

הבעיה שלי הייתה שלא שמתי את הgunicorn בrequirements.txt
סוף כל סוף האתר עובד!!!

לייק 1