DOMANDA Ambiente di sviluppo per app python

jeyhw

Utente Attivo
707
84
Ciao,
vorrei creare un ambiente per lo sviluppo di app python.
In verità ho appena iniziato quindi sto imparando ancora le basi del linguaggio.
Mi interessava capire però come installare su una macchina linux tutto il necessario per far poi girare in un browser app sviluppate in python.
Quando facevo dei piccoli lavori in php e mysql, questa necessità era subito soddisfatta installando pacchetti completi come xampp o Lamp e si doveva solo sceglire l'editor grafico per scrivere il codice e salvare i file da copiare nella cartella locale di apache; non ho capito esattamente cosa scaricare e avviare per python invece.
Potete aiutarmi a chiarire le idee?
Grazie
 

pabloski

Utente Èlite
2,868
916
Ciao,
vorrei creare un ambiente per lo sviluppo di app python.

In pratica ti serve un setup server-side per fare "eseguire" al server http gli script Python. Al netto di MySQL, è questo quello che ti serve https://www.digitalocean.com/commun...amp-server-without-frameworks-on-ubuntu-14-04

O qui https://petarkaran.it/2019/12/07/python-utilizzare-python-su-apache-configurazione-con-xampp/

ScriptInterpreterSource Registry-Strict levalo, perchè è una cosa di Windows.

Ovviamente suppongo l'uso di Apache. Per altri web server la situazione è simile.

Mi interessava capire però come installare su una macchina linux tutto il necessario per far poi girare in un browser app sviluppate in python.

Gli script non girano nel browser, ma sul server. L'unico linguaggio di scripting supportato lato client è Javascript. Nel prossimo futuro, quando Webassembly si sarà diffuso a dovere, potremo usarlo per farci girare di tutto, ma non adesso.

Potete aiutarmi a chiarire le idee?

La questione è banalmente la seguente. Il web server ( Apache ) legge l'estensione dello script dall'URL ( .py nel caso di Python ) e va a guardare se nella sua configurazione ci sono delle regole che gli dicano come gestirli. La regola, se c'è, è di mandare lo script all'interprete Python sul server e prenderne l'output e darlo al web server, che lo manderà al client.

Con PHP succede la stessa identica cosa ( veramente c'è un modulo apposito, non si usa il CGI ), solo che LAMP e XAMPP sono preconfigurati. Puoi benissimo fare a mano quello che fa LAMP.
 

jeyhw

Utente Attivo
707
84
"Gli script non girano nel browser, ma sul server. L'unico linguaggio di scripting supportato lato client è Javascript. Nel prossimo futuro, quando Webassembly si sarà diffuso a dovere, potremo usarlo per farci girare di tutto, ma non adesso."

Si scusami lo so che gli script girano sul server anche con php è così; intendevo progetti che possono essere poi essere accessibili e lanciati dal browser.

Ho trovato anche questo articolo più recente che parla di Virtual Environment:

https://www.digitalocean.com/commun...amming-environment-on-ubuntu-20-04-quickstart

Quale sarebbe in sostanza la differenza?

Grazie
 

pabloski

Utente Èlite
2,868
916
Si scusami lo so che gli script girano sul server anche con php è così; intendevo progetti che possono essere poi essere accessibili e lanciati dal browser.

Ho trovato anche questo articolo più recente che parla di Virtual Environment:

https://www.digitalocean.com/commun...amming-environment-on-ubuntu-20-04-quickstart

Quale sarebbe in sato anche questo articolo più recente che parla di Virtual Enostanza la differenza?

Grazie

I virtual environment non hanno nulla a che fare col tuo problema. Sono un modo per avere più installazioni diverse di Python sullo stesso computer.

A te serve installare Python e settare Apache affinchè usi CGI per eseguire gli script .py

Tutto qui.
 

jeyhw

Utente Attivo
707
84
I virtual environment non hanno nulla a che fare col tuo problema. Sono un modo per avere più installazioni diverse di Python sullo stesso computer.
Non mi è ancora chiaro questo aspetto. Che significa più installazioni di Python sullo stesso computer precisamente? Perché dovrei avere più installazioni di Python?

Comuqnue, avrei deciso di installare Visual studio code come editor visuale sulla mia macchina Windows 10. Poi visto che ho VMware Workstation, vorrei installare ubuntu con sopra python, apache e mysql (in verità già ho una Vm linux con php apache e mysql installati sopra). In poche parole un file python di un progetto che edito in VSC dovrebbe essere posizionato nella VM, quindi in qualche modo VSC dovrebbe accedere ai file nella VM linux, magari in FTP non so ancora come è strutturato e funziona VSC e se è possibile farlo. Infine poter visualizzare il risultato dal browser, più che altro per quanto avrò imparato qa sviluppare qualche semplice webapp. Non sono sicuro su cosa fare esattamente. Grazie
 

pabloski

Utente Èlite
2,868
916
Non mi è ancora chiaro questo aspetto. Che significa più installazioni di Python sullo stesso computer precisamente? Perché dovrei avere più installazioni di Python?

più versioni, ognuna col suo interprete, i suoi moduli, le sue librerie

Comuqnue, avrei deciso di installare Visual studio code come editor visuale sulla mia macchina Windows 10. Poi visto che ho VMware Workstation, vorrei installare ubuntu con sopra python, apache e mysql (in verità già ho una Vm linux con php apache e mysql installati sopra). In poche parole un file python di un progetto che edito in VSC dovrebbe essere posizionato nella VM, quindi in qualche modo VSC dovrebbe accedere ai file nella VM lunux, magari in FTP non so ancora come è strutturato VSC e se è possibile. Infine poter visualizzare il risultato dal browser. Non sono sicuro su cosa fare esattamente. Grazie

perchè non installare visual studio code nella vm?

in ogni caso, vscode ha funzionalità avanzate per la gestione delle attività in remoto, tra cui questa https://code.visualstudio.com/docs/remote/ssh-tutorial

inoltre è possibile usare WSL per far girare Linux direttamente come sottosistema di Windows e usare anche Docker con dentro un ambiente Linux
 

jeyhw

Utente Attivo
707
84
più versioni, ognuna col suo interprete, i suoi moduli, le sue librerie
Ok, intendi le varie versioni di Python tipo 3.4, 3.5..3.7 ecc??

perchè non installare visual studio code nella vm?

Non ho ancora provato ma penso che VS giri meglio su macchina fisica che su un VM a cui non posso concedere tante risorse.


in ogni caso, vscode ha funzionalità avanzate per la gestione delle attività in remoto, tra cui questa https://code.visualstudio.com/docs/remote/ssh-tutorial

inoltre è possibile usare WSL per far girare Linux direttamente come sottosistema di Windows e usare anche Docker con dentro un ambiente Linux

Non voglio installare WSL su windows.
Ok vediamo come funziona in SSH. Se non va installo VSC direttamente su linux visto che ha l'ambiente grafico.

Per la faccenda del webapp oltre a settare apache non devo fare nient'altro? Nel senso che una volta installato python in linux, VSC, e fatto la modifica ad apache posso già vedere le mie webapp nel browser semplicemente indicando l'IP e porta della macchina con l'ambiente python attivato?

Grazie tante.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!