{"id":2156,"date":"2022-01-23T12:53:46","date_gmt":"2022-01-23T12:53:46","guid":{"rendered":"https:\/\/codeinsightacademy.com\/blog\/?p=2156"},"modified":"2022-10-31T13:56:15","modified_gmt":"2022-10-31T13:56:15","slug":"deploy-flask-app-on-heroku","status":"publish","type":"post","link":"https:\/\/codeinsightacademy.com\/blog\/python\/deploy-flask-app-on-heroku\/","title":{"rendered":"Deploy Flask App on Heroku"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>mkdir app<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>cd app<\/code><\/pre>\n\n\n\n<p>app.py<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from flask import Flask, jsonify, request\n\napp = Flask(__name__)\n\n@app.route(\"\/\")\ndef index():\n    return \"Hello World!\"\n\n@app.route('\/add')\ndef add():\n    num1 = int(request.args.get('num1'));\n    num2 = int(request.args.get('num2'));\n\n    return f\"{num1} + {num2} = {num1 + num2}\"\n\n#if __name__ == \"__main__\":\n    #app.run(debug=True);\n    #app.run(host=\"0.0.0.0\", port=int(\"1234\"), debug=True)\n<\/code><\/pre>\n\n\n\n<p>runtime.txt<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python<strong>-<\/strong>3.10.8<\/code><\/pre>\n\n\n\n<p>Procfile<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>web: gunicorn app:app<\/code><\/pre>\n\n\n\n<p>requirements.txt<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>click==8.0.3\ncolorama==0.4.4\nFlask==2.0.2\nFlask-Cors==3.0.10\ngunicorn==20.1.0\nitsdangerous==2.0.1\nJinja2==3.0.3\nMarkupSafe==2.0.1\nPyMySQL==1.0.2\nsix==1.16.0\nWerkzeug==2.0.2<\/code><\/pre>\n\n\n\n<p>OR<\/p>\n\n\n\n<p>You can output all dependencies using following command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -m pip freeze &gt; requirements.txt<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>heroku login\n\n#onetime\nheroku create &lt;appname&gt;\nheroku git:remote -a &lt;appname&gt;\ngit init\n\n#repeat whenever you make changes\ngit add .\ngit commit -m 'heroku push'\ngit push heroku master<\/code><\/pre>\n\n\n\n<p>Test API<\/p>\n\n\n\n<p>https:\/\/myflaskapp2022.herokuapp.com\/<br>https:\/\/myflaskapp2022.herokuapp.com\/add?num1=5&amp;num2=9<\/p>\n\n\n\n<p>Troubleshoot<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>heroku logs --tail --app eflask-app-dusra<\/code><\/pre>\n\n\n\n<p>If still it is not working please do check spellings of files<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/devcenter.heroku.com\/articles\/buildpacks\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>app.py runtime.txt Procfile requirements.txt OR You can output all dependencies using following command Test API https:\/\/myflaskapp2022.herokuapp.com\/https:\/\/myflaskapp2022.herokuapp.com\/add?num1=5&amp;num2=9 Troubleshoot If still it is not working please do check spellings of files<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2156"}],"collection":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/comments?post=2156"}],"version-history":[{"count":9,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2156\/revisions"}],"predecessor-version":[{"id":2447,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2156\/revisions\/2447"}],"wp:attachment":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/media?parent=2156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/categories?post=2156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/tags?post=2156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}