2013-03-10 17 views
6

Recentemente ho sviluppato un'app in Flask + Python con PostgreSQL come database.Come distribuire l'applicazione Flask + Python su Windows Azure?

Come posso caricare la mia app su Windwos Azure? Windows Azure supporta Flask? Vale la pena installare l'app Flask sulla macchina virtuale Windows Azure?

Un sacco di tutorial insegnano a utilizzare Visual Studio e IPython con Django ma non è la mia scelta.

C'è qualche guida o tutorial per iniziare?

risposta

4

Supponendo di voler creare un servizio cloud, il modo più semplice per iniziare è utilizzare Windows Azure PowerShell e la nuova funzione di modello: ciò consente di creare scaffold personalizzati per i propri ruoli. Dovresti installare il ruolo necessario per l'installazione dei runtime di Python e Flask nella cartella dei modelli, quindi utilizzare Publish-AzureServiceProject per pubblicare su Azure.

C'è un supporto integrato per i ruoli web di Django, quindi è possibile iniziare da lì e apportare le modifiche necessarie per supportare Flask.

L'altra opzione sarebbe quella di utilizzare una macchina virtuale Linux, che è possibile impostare tramite SSH. PowerShell o la CLI multipiattaforma sarebbe di grande aiuto qui, vedi: http://www.windowsazure.com/en-us/develop/nodejs/tutorials/linux-virtual-machine/ per una passeggiata attraverso le macchine virtuali.

5

A luglio 2013 è presente un modello Flask in Azure.

enter image description here

Inizia con quello. Clonalo sul tuo computer. Ci sono alcuni elementi IIS nella radice e un ciao mondo Flask nella cartella FlaskApplication. Puoi testare l'app Flask sul tuo computer python __init__.py. Non so come testare il sito IIS localmente.

Non so come funzionano le dipendenze. C'è un Pip requirements.txt nel modello, e anche gli alberi sorgente di Flask e un paio di altre librerie.

Ho copiato una mia app da Heroku a Azure. Ho funzionato alla fine. La più grande difficoltà è stata trovare e leggere i registri (è necessario attivare tutta la registrazione nel gestore IIS, quindi navigare in un sito FTP, quindi i registri sono in profondità in qualche strano file xml chiamato), il che ha reso i due problemi minori più lunghi di quanto dovrebbero per risolvere

  1. directory di lavoro è diverso da Heroku (alla radice del sito IIS, piuttosto che il sito principale Flask)
  2. il modello ha un dodgy web.config che elimina silenziosamente stringhe di query da richieste gET

Questo era il problema

<action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="false" /> 
+0

Problema segnalato su https://pytools.codeplex.com/workitem/1536 –

Problemi correlati