{"id":1376,"date":"2021-11-20T13:56:36","date_gmt":"2021-11-20T16:56:36","guid":{"rendered":"https:\/\/fcnuvem.com.br\/home\/?p=1376"},"modified":"2022-12-05T11:57:27","modified_gmt":"2022-12-05T14:57:27","slug":"blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6","status":"publish","type":"post","link":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/","title":{"rendered":"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+)"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"730\" height=\"205\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-FCnuvem-Phyton3-6.png\" alt=\"\" class=\"wp-image-1404\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-FCnuvem-Phyton3-6.png 730w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-FCnuvem-Phyton3-6-300x84.png 300w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><figcaption><strong>Autor:<\/strong>\u00a0Luigi\u00a0Tavolaro\u00a0&#8211; Embaixador FC Nuvem, Microsoft MVP\u00a0e L\u00edder das Comunidades\u00a0Developers-BR e\u00a0Azure\u00a0Talks\u00a0<\/figcaption><\/figure>\n\n\n\n<p>Nesse artigo&nbsp;irei demonstrar como publicar um site ou&nbsp;Api&nbsp;REST em Python no Web&nbsp;App&nbsp;do&nbsp;Azure. Lembrando que o foco do artigo n\u00e3o \u00e9 exatamente como criar sites ou&nbsp;APIs&nbsp;Rest&nbsp;com o Python, mas ao longo dos artigos, vou avan\u00e7ando na utiliza\u00e7\u00e3o dos recursos e das bibliotecas e explicando um pouco sobre o&nbsp;Flask&nbsp;e como utiliz\u00e1-lo.&nbsp;<\/p>\n\n\n\n<p>Para isso, ser\u00e1 utilizado:&nbsp;&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Flask&nbsp;(<a href=\"http:\/\/flask.pocoo.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/flask.pocoo.org\/<\/a>), que ser\u00e1 melhor descrito posteriormente;&nbsp;<\/li><li>Python (<a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.python.org\/<\/a>) na sua vers\u00e3o 3.6 (essa \u00e9 a vers\u00e3o mais atual de suporte no&nbsp;Azure).&nbsp;<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Visual Studio&nbsp;Code&nbsp;(<a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/code.visualstudio.com\/<\/a>) para codificar a aplica\u00e7\u00e3o, instale a extens\u00e3o do Python&nbsp;<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python<\/a>&nbsp;<\/li><li>Azure&nbsp;DevOps&nbsp;(<a href=\"https:\/\/azure.microsoft.com\/pt-br\/services\/devops\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/azure.microsoft.com\/pt-br\/services\/devops\/<\/a>) para utiliza\u00e7\u00e3o do reposit\u00f3rio GIT que ser\u00e1 utilizado para o&nbsp;deploy&nbsp;da aplica\u00e7\u00e3o.&nbsp;<\/li><li>Postman&nbsp;(<a href=\"https:\/\/www.getpostman.com\/postman\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.getpostman.com\/postman<\/a>) para consumir nossa API de exemplo.&nbsp;<\/li><\/ul>\n\n\n\n<p>Come\u00e7amos da pergunta que mais escuto, por que Python? Se voc\u00ea tamb\u00e9m se perguntou isso, vou tentar responder rapidamente.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Python \u00e9 simples, leve, vers\u00e1til, f\u00e1cil de aprender, roda em todos os sistemas operacionais, e hoje, gra\u00e7as ao&nbsp;estudo do Data Science, \u00e9&nbsp;utilizado por muitas empresas, como j\u00e1 li em outros artigos, Python \u00e9 o verdadeiro Canivete&nbsp;Sui\u00e7o.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"564\" height=\"159\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-28.png\" alt=\"\" class=\"wp-image-1381\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-28.png 564w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-28-300x85.png 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/figure>\n\n\n\n<p><strong>O que \u00e9&nbsp;Flask?<\/strong>&nbsp;<\/p>\n\n\n\n<p>Flask&nbsp;\u00e9 um&nbsp;micro-framework&nbsp;(um framework minimalista) desenvolvido em Python e baseado em 3 pilares:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>WerkZeug&nbsp;\u00e9 uma biblioteca para desenvolvimento de&nbsp;apps&nbsp;WSGI que \u00e9 a especifica\u00e7\u00e3o universal de como deve ser a interface entre um&nbsp;app&nbsp;Python e um web server.&nbsp;<\/li><\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\"><li>Jinja2 \u00e9 um&nbsp;template&nbsp;engine&nbsp;escrito em Python, voc\u00ea escreve&nbsp;templates&nbsp;utilizando marca\u00e7\u00f5es como&nbsp;{{&nbsp;nome_da_variavel&nbsp;}} ou {% for nome in&nbsp;lista_de_nomes&nbsp;%}&nbsp;Hello&nbsp;{{nome}}!! {%&nbsp;endfor&nbsp;%} e o&nbsp;Jinja&nbsp;se encarrega de&nbsp;renderizar&nbsp;este&nbsp;template, ou seja, ele substitui os&nbsp;placeholders&nbsp;pelo valor de suas vari\u00e1veis.&nbsp;<\/li><\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\"><li>Good&nbsp;Intentions: O&nbsp;Flask&nbsp;\u00e9&nbsp;Pythonico! Al\u00e9m do c\u00f3digo ter alta qualidade nos quesitos de legibilidade ele tamb\u00e9m tenta seguir as premissas do Zen do Python e dentro dessas boas inten\u00e7\u00f5es n\u00f3s temos o fato dele ser um&nbsp;micro-framework&nbsp;deixando que voc\u00ea tenha liberdade de estruturar seu&nbsp;app&nbsp;da maneira que desejar.&nbsp;&nbsp;<\/li><\/ol>\n\n\n\n<p>Ent\u00e3o n\u00f3s temos uma linguagem&nbsp;superpoderosa&nbsp;em m\u00e3os e um&nbsp;micro-framework&nbsp;que nos facilita come\u00e7ar com a parte Web em Python.&nbsp;<\/p>\n\n\n\n<p>Instale o Python em sua vers\u00e3o 3.6 ou 3.7, baixe em&nbsp;<a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.python.org\/<\/a>&nbsp;no VS&nbsp;Code&nbsp;abra um novo Terminal&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"574\" height=\"87\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-24.png\" alt=\"\" class=\"wp-image-1377\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-24.png 574w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-24-300x45.png 300w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/figure>\n\n\n\n<p>Digite o Comando&nbsp;python -m pip install flask (1)&nbsp;<\/p>\n\n\n\n<p>O Pip \u00e9 gerenciador de pacotes do Python, para quem esta familiarizado com o .NET,&nbsp;seria o Nuget do Python.&nbsp;<\/p>\n\n\n\n<p>O comando (1) instala o pacote&nbsp;Flask&nbsp;e suas depend\u00eancias, isso significa que podemos j\u00e1 come\u00e7ar a&nbsp;utiliz\u00e1-lo&nbsp;e ainda no VS&nbsp;Code&nbsp;pressione&nbsp;Ctrl+Shift+P&nbsp;e selecione a op\u00e7\u00e3o \u201cPython: Selecionar Interpretador\u201d&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"110\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-26.png\" alt=\"\" class=\"wp-image-1379\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-26.png 986w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-26-300x33.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-26-768x86.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/figure>\n\n\n\n<p>Na etapa seguinte, selecione a vers\u00e3o 3.6 ou 3.7 do Python:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"210\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-27.png\" alt=\"\" class=\"wp-image-1380\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-27.png 986w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-27-300x64.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-27-768x164.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/figure>\n\n\n\n<p>No canto esquerdo, embaixo, dever\u00e1 estar da seguinte maneira:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"251\" height=\"28\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-25.png\" alt=\"\" class=\"wp-image-1378\"\/><\/figure>\n\n\n\n<p>Pronto, o VS&nbsp;Code&nbsp;est\u00e1 configurado para utilizar o Python.&nbsp;<\/p>\n\n\n\n<p>Abra um novo arquivo e digite:&nbsp;<\/p>\n\n\n\n<p>from&nbsp;flask&nbsp;import&nbsp;Flask,&nbsp;jsonify&nbsp;<\/p>\n\n\n\n<p>app&nbsp;=&nbsp;Flask(__name__)&nbsp;<\/p>\n\n\n\n<p>#&nbsp;Make&nbsp;the&nbsp;WSGI interface&nbsp;available&nbsp;at&nbsp;the&nbsp;top&nbsp;level&nbsp;so&nbsp;wfastcgi&nbsp;can&nbsp;get&nbsp;it.&nbsp;<\/p>\n\n\n\n<p>wsgi_app&nbsp;=&nbsp;app.wsgi_app&nbsp;<\/p>\n\n\n\n<p>@app.route(&#8216;\/&#8217;)&nbsp;<\/p>\n\n\n\n<p>def&nbsp;home():&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;return&nbsp;&#8216;hello&nbsp;world&#8217;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p>profissional&nbsp;= [&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; {&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;id&#8217;:&nbsp;1,&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;nome&#8217;:&nbsp;u&#8217;Luigi&nbsp;Tavolaro&#8217;,&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;cargo&#8217;:&nbsp;u&#8217;Desenvolvedor&#8217;,&nbsp;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;idade&#8217;:&nbsp;36&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; },&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; {&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;id&#8217;:&nbsp;2,&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;nome&#8217;:&nbsp;u&#8217;Douglas&nbsp;Pereira&#8217;,&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;cargo&#8217;:&nbsp;u&#8217;RH&#8217;,&nbsp;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;idade&#8217;:&nbsp;25&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; }&nbsp;<\/p>\n\n\n\n<p>]&nbsp;<\/p>\n\n\n\n<p>@app.route(&#8216;\/api&#8217;,&nbsp;methods=[&#8216;GET&#8217;])&nbsp;<\/p>\n\n\n\n<p>def&nbsp;api_profissionais():&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;jsonify({&#8216;profissional&#8217;: profissional})&nbsp;&nbsp;<\/p>\n\n\n\n<p>if&nbsp;__name__ ==&nbsp;&#8216;__main__&#8217;:&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;app.run()&nbsp;<\/p>\n\n\n\n<p>Na linha 7,&nbsp;est\u00e1 definida a rota principal, onde&nbsp;ir\u00e1 funcionar&nbsp;minha aplica\u00e7\u00e3o WEB, e na linha 26,&nbsp;est\u00e1&nbsp;a rota para a minha API.&nbsp;<\/p>\n\n\n\n<p>No VS&nbsp;Code:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"546\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-29-1024x546.png\" alt=\"\" class=\"wp-image-1382\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-29-1024x546.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-29-300x160.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-29-768x409.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-29.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"357\" height=\"81\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-30.png\" alt=\"\" class=\"wp-image-1383\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-30.png 357w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-30-300x68.png 300w\" sizes=\"auto, (max-width: 357px) 100vw, 357px\" \/><\/figure>\n\n\n\n<p>A aplica\u00e7\u00e3o est\u00e1&nbsp;funcionando&nbsp;no&nbsp;localhost&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-31-1024x432.png\" alt=\"\" class=\"wp-image-1384\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-31-1024x432.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-31-300x127.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-31-768x324.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-31.png 1270w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Postman&nbsp;retorna o resultado da API rodando via&nbsp;localhost&nbsp;<\/p>\n\n\n\n<p>Sua aplica\u00e7\u00e3o&nbsp;Flask&nbsp;j\u00e1 est\u00e1&nbsp;funcionando, tanto a parte web, como a&nbsp;Api.&nbsp;<\/p>\n\n\n\n<p>Agora vamos para parte do&nbsp;Azure:&nbsp;<\/p>\n\n\n\n<p>Se voc\u00ea n\u00e3o tem uma conta no&nbsp;Azure, indico conhecer o programa Visual Studio&nbsp;Dev&nbsp;Essentials (<a href=\"https:\/\/visualstudio.microsoft.com\/pt-br\/dev-essentials\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/visualstudio.microsoft.com\/pt-br\/dev-essentials\/<\/a>), tem diversos servi\u00e7os gratuitos ou para experimentar. O&nbsp;Azure&nbsp;\u00e9 um deles: \u201c<em>Conta gratuita do&nbsp;Azure&nbsp;(inclui um ano de servi\u00e7os gratuitos, US$200 no primeiro&nbsp;m\u00eas)\u201d<\/em>, se voc\u00ea n\u00e3o tem um cart\u00e3o de cr\u00e9dito internacional, pode criar uma conta no&nbsp;Nubank&nbsp;por exemplo.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Abra o portal do&nbsp;Azure&nbsp;e clique em&nbsp;App&nbsp;Services:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-33-1024x595.png\" alt=\"\" class=\"wp-image-1386\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"516\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-32-1024x516.png\" alt=\"\" class=\"wp-image-1385\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-32-1024x516.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-32-300x151.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-32-768x387.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-32.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Clique nos itens destacados e insira&nbsp;o nome,&nbsp;<em>o&nbsp;Resource&nbsp;Group<\/em>, e o plano que ser\u00e1 utilizado.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-34-1024x584.png\" alt=\"\" class=\"wp-image-1387\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-34-1024x584.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-34-300x171.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-34-768x438.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-34.png 1053w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ap\u00f3s criado o recurso, entre em seu&nbsp;WebApp&nbsp;e v\u00e1 em configura\u00e7\u00f5es, na aba General Settings escolha a&nbsp;Stack, no caso Python:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-35-1024x559.png\" alt=\"\" class=\"wp-image-1388\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-35-1024x559.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-35-300x164.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-35-768x419.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-35.png 1065w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Clique&nbsp;no link&nbsp;Extensions:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"916\" height=\"649\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-36.png\" alt=\"\" class=\"wp-image-1389\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-36.png 916w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-36-300x213.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-36-768x544.png 768w\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" \/><\/figure>\n\n\n\n<p>Escolha&nbsp;a vers\u00e3o 3.6.4 x64 do Python&nbsp;<\/p>\n\n\n\n<p>Aceite os termos legais:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-37.png\" alt=\"\" class=\"wp-image-1390\"\/><\/figure>\n\n\n\n<p>Pronto, agora temos o Python 3.6 instalado, a vers\u00e3o que j\u00e1 \u00e9 predefinida no Web&nbsp;App&nbsp;\u00e9 a 3.4, portanto \u00e9 necess\u00e1rio fazer esse passo a passo:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-38-1024x450.png\" alt=\"\" class=\"wp-image-1391\"\/><\/figure>\n\n\n\n<p>Clique&nbsp;em&nbsp;<em>Advanced<\/em>&nbsp;tools e posteriormente em&nbsp;<em>Go<\/em>:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-39.png\" alt=\"\" class=\"wp-image-1392\"\/><\/figure>\n\n\n\n<p>Abra o CMD para manipularmos o&nbsp;WebApp&nbsp;<\/p>\n\n\n\n<p>Agora abra o projeto KUDU, em que nos permite manipular&nbsp;algumas&nbsp;configura\u00e7\u00f5es do nosso Web&nbsp;App:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1022\" height=\"386\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-40.png\" alt=\"\" class=\"wp-image-1393\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-40.png 1022w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-40-300x113.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-40-768x290.png 768w\" sizes=\"auto, (max-width: 1022px) 100vw, 1022px\" \/><\/figure>\n\n\n\n<p>Navegue&nbsp;at\u00e9 a pasta D:\\home\\python364x64:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-41.png\" alt=\"\" class=\"wp-image-1394\"\/><\/figure>\n\n\n\n<p>Executar o mesmo comando (1) do in\u00edcio do artigo:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-42.png\" alt=\"\" class=\"wp-image-1395\"\/><\/figure>\n\n\n\n<p>O&nbsp;Flask&nbsp;foi instalado no nosso&nbsp;WebApp:&nbsp;<\/p>\n\n\n\n<p>Lembrando que&nbsp;\u00e9 uma configura\u00e7\u00e3o Windows&nbsp;Web&nbsp;App, portanto, estamos utilizando o IIS para&nbsp;funcionar a aplica\u00e7\u00e3o, precisamos ent\u00e3o de um&nbsp;Web.config&nbsp;para as configura\u00e7\u00f5es da aplica\u00e7\u00e3o:&nbsp;<\/p>\n\n\n\n<p>&lt;?xml&nbsp;version=&#8221;1.0&#8243;&nbsp;encoding=&#8221;utf-8&#8243;?&gt;&nbsp;<\/p>\n\n\n\n<p>&lt;configuration&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp; &lt;appSettings&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &lt;add&nbsp;key=&#8221;WSGI_HANDLER&#8221;&nbsp;value=&#8221;main.app&#8221;\/&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &lt;add&nbsp;key=&#8221;PYTHONPATH&#8221;&nbsp;value=&#8221;D:\\home\\site\\wwwroot&#8221;\/&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &lt;add&nbsp;key=&#8221;WSGI_LOG&#8221;&nbsp;value=&#8221;D:\\home\\LogFiles\\wfastcgi.log&#8221;\/&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp; &lt;\/appSettings&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp; &lt;system.webServer&gt;&nbsp;<\/p>\n\n\n\n<p>&lt;httpErrors&nbsp;errorMode=&#8221;Detailed&#8221;&gt;&lt;\/httpErrors&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &lt;handlers&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;add&nbsp;name=&#8221;PythonHandler&#8221; path=&#8221;*&#8221;&nbsp;verb=&#8221;*&#8221; modules=&#8221;FastCgiModule&#8221;&nbsp;scriptProcessor=&#8221;D:\\home\\Python364x64\\python.exe|D:\\home\\Python364x64\\wfastcgi.py&#8221;&nbsp;resourceType=&#8221;Unspecified&#8221;&nbsp;requireAccess=&#8221;Script&#8221;\/&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &lt;\/handlers&gt;&nbsp;<\/p>\n\n\n\n<p>&nbsp; &lt;\/system.webServer&gt;&nbsp;<\/p>\n\n\n\n<p>&lt;\/configuration&gt;&nbsp;<\/p>\n\n\n\n<p>Na linha 4&nbsp;\u00e9 necess\u00e1rio informar o&nbsp;arquivo principal, ou seja, qual deve ser executado, no caso, o&nbsp;arquivo do&nbsp;Flask&nbsp;\u00e9 o\u202f<em>main.py,\u202f<\/em>portanto, na linha 4 deve estar o&nbsp;main.app, essa configura\u00e7\u00e3o \u00e9 apenas para aplica\u00e7\u00f5es&nbsp;Flask.&nbsp;<\/p>\n\n\n\n<p>As demais linhas s\u00e3o configura\u00e7\u00f5es sobre caminho do Python e do&nbsp;FastCGI&nbsp;que \u00e9 utilizado para executar o script.&nbsp;<\/p>\n\n\n\n<p>Agora vamos colocar&nbsp;a aplica\u00e7\u00e3o no reposit\u00f3rio do&nbsp;Azure&nbsp;DevOps, entre&nbsp;em\u202f<a href=\"https:\/\/azure.microsoft.com\/pt-br\/services\/devops\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/azure.microsoft.com\/pt-br\/services\/devops\/<\/a>&nbsp;<\/p>\n\n\n\n<p>\u00c9 poss\u00edvel transferir os dados via&nbsp;ftp&nbsp;tamb\u00e9m,&nbsp;clique em novo projeto e informe nome e a descri\u00e7\u00e3o:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-43.png\" alt=\"\" class=\"wp-image-1396\"\/><\/figure>\n\n\n\n<p>Criado o reposit\u00f3rio, vamos fazer o&nbsp;push&nbsp;do c\u00f3digo, eu fiz via Web mesmo, mas voc\u00ea pode&nbsp;usar a ferramenta de&nbsp;Git&nbsp;que voc\u00ea preferir.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"255\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-47-1024x255.png\" alt=\"\" class=\"wp-image-1400\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-47-1024x255.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-47-300x75.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-47-768x191.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-47.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"361\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-44-1024x361.png\" alt=\"\" class=\"wp-image-1397\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-44-1024x361.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-44-300x106.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-44-768x271.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-44.png 1357w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Voltando ao Portal&nbsp;do&nbsp;Azure, dentro do seu&nbsp;WebApp:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"414\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-45-1024x414.png\" alt=\"\" class=\"wp-image-1398\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-45-1024x414.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-45-300x121.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-45-768x310.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-45.png 1359w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Clique em Deployment Center e logo ap\u00f3s escolha o&nbsp;Azure&nbsp;Repos, vale destacar que poderia ser outros servi\u00e7os como o GitHub ou at\u00e9 mesmo do OneDrive.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"629\" height=\"447\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-46.png\" alt=\"\" class=\"wp-image-1399\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-46.png 629w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-46-300x213.png 300w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"767\" height=\"467\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-48.png\" alt=\"\" class=\"wp-image-1401\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-48.png 767w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-48-300x183.png 300w\" sizes=\"auto, (max-width: 767px) 100vw, 767px\" \/><\/figure>\n\n\n\n<p>Pronto, ao finalizar, ser\u00e1 realizado&nbsp;automaticamente o&nbsp;Deploy&nbsp;da sua aplica\u00e7\u00e3o e para cada novo PR, o&nbsp;deploy&nbsp;ser\u00e1 autom\u00e1tico, sendo assim temos um in\u00edcio de CI\/CD da aplica\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-49.png\" alt=\"\" class=\"wp-image-1402\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-50-1024x555.png\" alt=\"\" class=\"wp-image-1403\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-50-1024x555.png 1024w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-50-300x162.png 300w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-50-768x416.png 768w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-50.png 1274w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Refer\u00eancias<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"http:\/\/pythonclub.com.br\/what-the-flask-pt-1-introducao-ao-desenvolvimento-web-com-python.html\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/pythonclub.com.br\/what-the-flask-pt-1-introducao-ao-desenvolvimento-web-com-python.html<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/pt-br\/visualstudio\/python\/managing-python-on-azure-app-service?view=vs-2019\">https:\/\/docs.microsoft.com\/pt-br\/visualstudio\/python\/managing-python-on-azure-app-service?view=vs-2019<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/pt.wikipedia.org\/wiki\/Pip_(gerenciador_de_pacotes)\">https:\/\/pt.wikipedia.org\/wiki\/Pip_(gerenciador_de_pacotes)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.<\/p>\n","protected":false},"author":8,"featured_media":5773,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[94],"tags":[369,373,374],"post_series":[],"class_list":["post-1376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriais","tag-api-rest","tag-flask","tag-pyton","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+) - Blog da FCamara<\/title>\n<meta name=\"description\" content=\"Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+) - Blog da FCamara\" \/>\n<meta property=\"og:description\" content=\"Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog da FCamara\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-20T16:56:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-05T14:57:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"260\" \/>\n\t<meta property=\"og:image:height\" content=\"205\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"fcnuvem\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"fcnuvem\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\"},\"author\":{\"name\":\"fcnuvem\",\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a\"},\"headline\":\"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+)\",\"datePublished\":\"2021-11-20T16:56:36+00:00\",\"dateModified\":\"2022-12-05T14:57:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\"},\"wordCount\":1693,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png\",\"keywords\":[\"API REST\",\"Flask\",\"Pyton\"],\"articleSection\":[\"Tutoriais\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\",\"url\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\",\"name\":\"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+) - Blog da FCamara\",\"isPartOf\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png\",\"datePublished\":\"2021-11-20T16:56:36+00:00\",\"dateModified\":\"2022-12-05T14:57:27+00:00\",\"description\":\"Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.\",\"breadcrumb\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage\",\"url\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png\",\"contentUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png\",\"width\":260,\"height\":205},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/fcamara.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"aplicativo mobile\",\"item\":\"https:\/\/fcamara.com\/blog\/tags\/aplicativo-mobile\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fcamara.com\/blog\/#website\",\"url\":\"https:\/\/fcamara.com\/blog\/\",\"name\":\"Blog da FCamara\",\"description\":\"Esta \u00e9 a \u00e1rea de insights sobre o mercado de tecnologia.\",\"publisher\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fcamara.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fcamara.com\/blog\/#organization\",\"name\":\"Blog da FCamara\",\"url\":\"https:\/\/fcamara.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp\",\"contentUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp\",\"width\":459,\"height\":68,\"caption\":\"Blog da FCamara\"},\"image\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a\",\"name\":\"fcnuvem\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"fcnuvem\"},\"url\":\"https:\/\/fcamara.com\/blog\/author\/fcnuvem\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+) - Blog da FCamara","description":"Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/","og_locale":"pt_BR","og_type":"article","og_title":"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+) - Blog da FCamara","og_description":"Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.","og_url":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/","og_site_name":"Blog da FCamara","article_published_time":"2021-11-20T16:56:36+00:00","article_modified_time":"2022-12-05T14:57:27+00:00","og_image":[{"width":260,"height":205,"url":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png","type":"image\/png"}],"author":"fcnuvem","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"fcnuvem","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#article","isPartOf":{"@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/"},"author":{"name":"fcnuvem","@id":"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a"},"headline":"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+)","datePublished":"2021-11-20T16:56:36+00:00","dateModified":"2022-12-05T14:57:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/"},"wordCount":1693,"commentCount":0,"publisher":{"@id":"https:\/\/fcamara.com\/blog\/#organization"},"image":{"@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage"},"thumbnailUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png","keywords":["API REST","Flask","Pyton"],"articleSection":["Tutoriais"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/","url":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/","name":"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+) - Blog da FCamara","isPartOf":{"@id":"https:\/\/fcamara.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage"},"image":{"@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage"},"thumbnailUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png","datePublished":"2021-11-20T16:56:36+00:00","dateModified":"2022-12-05T14:57:27+00:00","description":"Demonstra\u00e7\u00e3o de como publicar um site ou\u00a0Api\u00a0REST em Python no Web\u00a0App\u00a0do\u00a0Azure e breve explica\u00e7\u00e3o sobre o\u00a0Flask\u00a0e como utiliz\u00e1-lo.","breadcrumb":{"@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#primaryimage","url":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png","contentUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-FCnuvem-Phyton3-6.png","width":260,"height":205},{"@type":"BreadcrumbList","@id":"https:\/\/fcamara.com\/blog\/blog-publicando-seu-site-ou-api-rest-com-flask-em-uma-maquina-windows-com-o-python-3-6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/fcamara.com\/blog\/"},{"@type":"ListItem","position":2,"name":"aplicativo mobile","item":"https:\/\/fcamara.com\/blog\/tags\/aplicativo-mobile\/"},{"@type":"ListItem","position":3,"name":"Publicando seu Site ou API Rest com Flask em uma M\u00e1quina Windows com o Python 3.6(+)"}]},{"@type":"WebSite","@id":"https:\/\/fcamara.com\/blog\/#website","url":"https:\/\/fcamara.com\/blog\/","name":"Blog da FCamara","description":"Esta \u00e9 a \u00e1rea de insights sobre o mercado de tecnologia.","publisher":{"@id":"https:\/\/fcamara.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fcamara.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/fcamara.com\/blog\/#organization","name":"Blog da FCamara","url":"https:\/\/fcamara.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp","contentUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp","width":459,"height":68,"caption":"Blog da FCamara"},"image":{"@id":"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a","name":"fcnuvem","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"fcnuvem"},"url":"https:\/\/fcamara.com\/blog\/author\/fcnuvem\/"}]}},"lang":"br","translations":{"br":1376},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts\/1376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/comments?post=1376"}],"version-history":[{"count":1,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions"}],"predecessor-version":[{"id":6155,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions\/6155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/media\/5773"}],"wp:attachment":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/media?parent=1376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/categories?post=1376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/tags?post=1376"},{"taxonomy":"post_series","embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/post_series?post=1376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}