15 Sezione 15 di 15
Domande frequenti e risoluzione problemi
Qualcosa non va come ti aspetti? Qui trovi i problemi più comuni, raccolti per argomento, con la soluzione pronta. Apri una domanda per leggere la risposta, oppure usa la ricerca in alto a sinistra.
Domande generali#
Serve sapere programmare per usare Leo?
No. Leo è facile come l'italiano: parole chiave in italiano, messaggi d'errore che spiegano che cosa fare, sviste comuni riconosciute e corrette. Allo stesso tempo è un linguaggio completo, con moduli, eccezioni, funzioni come valori, verifiche automatiche e una libreria di oltre 650 funzioni: chi programma già ritrova tutto ciò che conosce. Parti da Il tuo primo programma e poi da Le basi del linguaggio. Per esercitarti ci sono anche leo impara (lezioni guidate) e leo sfida (esercizi a livelli).
Leo funziona su macOS e Linux?
Sì, con la versione cartella e Python 3.10 o successivo (vedi Installazione con Python). Le funzioni di sistema dedicate a Windows (Leo e Windows) lì si fermano con un messaggio chiaro, e i file .exe si creano solo su Windows.
Leo si chiamava Dante: i miei vecchi programmi funzionano?
Sì. I file .dante si eseguono, si aprono in Leo Studio e si importano come i .leo; i progetti vecchi funzionano senza modifiche e le impostazioni vengono copiate nella nuova cartella di Leo al primo avvio. I file nuovi si salvano come .leo.
Posso vendere i programmi che scrivo con Leo?
I programmi che scrivi e gli eseguibili che ne ricavi appartengono a te: il titolare di Leo non rivendica diritti su di essi. Vedi Di chi sono i tuoi programmi.
Devo pagare per usare Leo?
No. Questa versione di Leo è gratuita e senza scadenza: niente chiave, niente carta di credito, anche per creare i .exe. Gli aggiornamenti futuri saranno a pagamento (un acquisto unico per versione), ma chi tiene questa versione resta gratis per sempre. Tutti i dettagli in Licenza e aggiornamenti.
Installazione e avvio#
Windows dice «Windows ha protetto il PC» e non fa partire l'installazione
È l'avviso di SmartScreen per i programmi scaricati da poco. Premi Ulteriori informazioni, controlla che il file sia Setup_Leo_….exe scaricato dal sito ufficiale e premi Esegui comunque.
L'antivirus blocca il programma di installazione
Capita con gli eseguibili nuovi. Scarica di nuovo il file dal sito ufficiale; se l'antivirus insiste, consenti quel file nelle sue impostazioni.
Durante l'installazione compare «Leo Studio è aperto»
Per aggiornare Leo, Leo Studio deve essere chiuso. Chiudilo (anche dall'area di notifica, se serve) e riprova.
Il comando leo non viene trovato nel Prompt dei comandi
Il comando funziona nei prompt aperti dopo l'installazione: chiudi e riapri il Prompt dei comandi. Se non basta, rilancia il programma di installazione lasciando attiva l'opzione che aggiunge leo al PATH.
Il doppio clic su un file .leo apre il Blocco note
Windows usa ancora il programma scelto in passato. Tasto destro sul file → Apri con → Scegli un'altra app → Leo, con Usa sempre questa app; oppure cambialo da Impostazioni → App → App predefinite.
(Versione cartella) «Non trovo Python» durante l'installazione
Installa Python da python.org spuntando Add python.exe to PATH, poi rilancia installa.bat. Se scrivendo python si apre il Microsoft Store, quello non è Python ma un collegamento allo Store: Leo lo ignora.
(Versione cartella) «Installa PySide6» quando apro Leo Studio o un progetto con finestre
Rilancia installa.bat e rispondi sì al passo 3, oppure scrivi .venv\Scripts\python -m pip install PySide6 nella cartella di Leo. Serve Internet (circa 100 MB) e Windows 10 o successivo a 64 bit.
Leo Studio#
I pannelli sono finiti in posti strani
Visualizza → Ripristina disposizione rimette tutto al suo posto.
Il testo è troppo piccolo (o troppo grande)
Strumenti → Impostazioni → Aspetto → Dimensione dell'interfaccia, dall'80% al 200%.
Le animazioni mi danno fastidio
Strumenti → Impostazioni → Aspetto → Riduci animazioni. La stessa scelta vale anche per le animazioni dei programmi che esegui da Leo Studio.
Non trovo la casella dei controlli a sinistra, come in Visual Basic
I controlli sono nella barra dei controlli in alto. Se preferisci il pannello classico, aprilo con Alt+1 (Visualizza → Pannelli → Controlli).
Preferisco i cursori del mouse normali invece di quelli rossi
Visualizza → Cursori rossi: togli il segno.
Leo Studio si è chiuso con un errore imprevisto
I dettagli sono nel file studio_errori.txt nella cartella Leo del tuo utente (%USERPROFILE%\Leo): allegalo quando segnali il problema.
Il codice#
«x non è definito», ma l'ho scritto!
Di solito è un errore di battitura (leggi il suggerimento: «forse intendevi…»), oppure la variabile è stata dichiarata dentro un blocco (un se, un ciclo, una funzione) e fuori non esiste. Dichiarala prima del blocco. Ricorda anche che una funzione va definita prima di chiamarla, oppure usa inizio … fine.
3,14 dà un errore
In Leo i decimali si scrivono con il punto: 3.14. La virgola separa i valori.
«Non posso sommare un testo e un intero»
Leo non converte mai da solo. Quello che arriva da chiedi o da una casella di testo è sempre un testo: trasformalo con intero(...) o decimale(...). Per mettere un numero dentro un testo usa le graffe: "Hai {anni} anni".
variabile anni = intero(chiedi("Quanti anni hai? "))stampa("L'anno prossimo avrai {anni + 1} anni")Quanti anni hai? 16
L'anno prossimo avrai 17 anniUn nome come vuoto, basta o esci dà errore
Sono sinonimi di parole chiave, quindi riservati: scegli un altro nome (per esempio vuota_lista, fermo).
«finché non è definito» o «Manca allora» con se x fai
Sei in modalità rigorosa (--rigoroso, rigoroso = true nel progetto o LEO_RIGOROSO=1): sinonimi e tolleranze sono spenti. Usa le parole canoniche (mentre, allora dopo se, fai dopo mentre e per ogni) o spegni la modalità rigorosa.
«Troppe chiamate annidate»
Una funzione che chiama se stessa non si ferma mai: controlla il caso base, per esempio se n <= 1 allora restituisci 1 fine.
Il programma non finisce mai
Probabilmente un ciclo mentre la cui condizione resta sempre vera. Fermalo con STOP (Maiusc+F5) o Ctrl+C, poi seguilo con il passo passo per vedere quale variabile non cambia.
Le lettere accentate escono come è
Salva i file .leo in UTF-8 (nel Blocco note: Salva con nome → Codifica: UTF-8). Leo Studio salva già così. I file di dati letti con leggi_file o leggi_tabella possono essere anche UTF-16 o nella vecchia codifica di Windows: Leo la riconosce da solo.
Nel terminale compaiono caratteri strani come ←[31m
La vecchia console non capisce i colori. Usa il Terminale Windows oppure scrivi set NO_COLOR=1 prima di lanciare Leo.
Finestre e controlli#
Clicco il pulsante ma non succede niente
Controlla che il nome nel gestore sia esattamente quello del controllo, maiuscole comprese: quando Pulsante1.clic fai, non quando pulsante1.clic fai. Il modo più sicuro per non sbagliare è creare il gestore con il doppio clic sul pulsante. Nel pannello Proprietà, gli eventi che hanno un gestore sono in rosso grassetto.
«etichetta è il tipo di controllo, non il suo nome»
Nel codice si usa il nome (Etichetta1), non il tipo (Etichetta). Vedi Nome e testo.
Un controllo non si vede quando eseguo il programma
Controlla visibile e opacità. Se la finestra ha una forma speciale (cerchio, stella…), il controllo potrebbe essere fuori dalla forma: in Leo Studio i controlli fuori forma sono evidenziati in ambra.
La finestra a forma libera non si chiude
Alt+F4 la chiude sempre; il tasto destro apre un menu con Sposta, Riduci e Chiudi.
La scheda Raspberry Pi Pico non si collega
Chiudi Thonny (tiene occupata la porta USB), scollega e ricollega la Pico e controlla che sulla scheda ci sia main.py (il programma dati/pico/leo_pico.py fornito con Leo). Prova a scrivere la porta a mano (per esempio COM3) nella proprietà porta della SchedaPico. Per provare senza scheda: simulata = vero.
Eseguibili#
«La compilazione non è disponibile da un programma già compilato»
Stai usando la versione di Leo installata con il programma di installazione: per creare file .exe serve la versione cartella con Python e PyInstaller. Vedi Che cosa serve.
«PyInstaller non è installato»
Aggiungi --installa al comando (leo compila MioProgetto --installa) oppure scrivi .venv\Scripts\python.exe -m pip install pyinstaller nella cartella di Leo.
Ho mandato solo il file .exe e al mio amico non parte
Con il formato predefinito va distribuita tutta la cartella dell'eseguibile (per esempio compressa in uno .zip). Se vuoi un file solo, compila con --un-file.
Il mio programma, sul computer di un altro, mostra l'avviso di SmartScreen
Succede con tutti gli eseguibili nuovi non firmati. Chi lo avvia può premere Ulteriori informazioni → Esegui comunque; per togliere l'avviso serve una firma digitale con un certificato riconosciuto (vedi Firma digitale).
Ancora bloccato?#
- Usa la ricerca del manuale (tasto /) con il testo del messaggio d'errore.
- In Leo Studio premi F1 per la guida del linguaggio, o Ctrl+K per trovare un comando.
- Prova
leo spiega programma.leo: racconta in italiano che cosa fa il tuo programma. - Guarda gli esempi pronti nella cartella
esempidi Leo: ce n'è uno per ogni categoria di controlli.