Discussione Python e windows

Q1P0

Utente Bronze
10 Ottobre 2020
45
15
7
27
Non ho ben capito come python interagisce con windows e un sistema operativo in generale. A quanto ho capito in linux è già presente ma nella versione 2 e si possono avere sia la 2 che la 3 scaricandola, mentre in windows non è presente di default. Quindi, quando lo scarico sto scaricando l'interprete che è quella cosa in grado di leggere un file .py giusto? E poi quando faccio un esercizio tipo in vscode, vscode si collega all'interprete e mi mostra il risultato nella sua shell? Se invece utilizzo un pacchetto come anaconda dovrei gia avere tutto compreso no? E poi, la cartella python a cosa serve? Scusate le mille domande ma ho un caos generale in testa hahah
 
A quanto ho capito in linux è già presente ma nella versione 2 e si possono avere sia la 2 che la 3 scaricandola, mentre in windows non è presente di default.

Si, ma lo stesso può dirsi di altri linguaggi. Il compilatore per C ad esempio non è incluso in ambiente Windows.

Quindi, quando lo scarico sto scaricando l'interprete che è quella cosa in grado di leggere un file .py giusto?

Python è interpretato, quindi si, hai bisogno dell'interprete. Questo va ad eseguire il codice Python.

Ormai esistono però alternative alla mera interpretazione, come per Java. Per avere prestazioni migliori si utilizzano i Just In Time Compiler (JIT). Questi trasformano il codice in codice macchina per l'architettura target (x86, x64 o altro) e poi è la CPU ad eseguirlo. Un esempio è Numba. Non essendo un utilizzatore di Python non so dirti se è già presente, com'è ad esempio in Java, o se sta a te scegliere se utilizzarlo o no.

E poi quando faccio un esercizio tipo in vscode, vscode si collega all'interprete e mi mostra il risultato nella sua shell?

Si solitamente infatti nelle impostazioni vai a settare il path all'interprete o al compilatore.

Se invece utilizzo un pacchetto come anaconda dovrei gia avere tutto compreso no?

In merito ad Anaconda non so che intendi... a quanto so è una lib che viene utilizzata per data science.

E poi, la cartella python a cosa serve?

A quale cartella fai riferimento?
 
  • Mi piace
Reazioni: GrincH--
Per anaconda posso risponderti io:

E' un ottimissima piattaforma per Computer Science, python-friendly e molto facile da usare. Se usi Anaconda puoi gestire i tuoi progetti da li senza la necessità di dover scaricare IDE e altri programmi in quanto sono già dentro Anaconda. Una volta installato anaconda verrà creata una cartella chiamata Anaconda che conterrà tra le altre cose: envs (cartella contenente i vari ambienti che creerai) lib (dove avrai tutte le librerie da te scaricate(nota che su Anaconda è veramente molto facile scaricare nuovi pacchetti)).

Se userai PyCharm senza Anaconda, i tuoi progetti Python li troverai nella cartella chiama PycharmProject
 
Per anaconda posso risponderti io:

E' un ottimissima piattaforma per Computer Science, python-friendly e molto facile da usare. Se usi Anaconda puoi gestire i tuoi progetti da li senza la necessità di dover scaricare IDE e altri programmi in quanto sono già dentro Anaconda. Una volta installato anaconda verrà creata una cartella chiamata Anaconda che conterrà tra le altre cose: envs (cartella contenente i vari ambienti che creerai) lib (dove avrai tutte le librerie da te scaricate(nota che su Anaconda è veramente molto facile scaricare nuovi pacchetti)).

Se userai PyCharm senza Anaconda, i tuoi progetti Python li troverai nella cartella chiama PycharmProject
Se non ricordo male con anaconda installi automaticamente anche spyder e jupiter no? Anche pycharm?
 
  • Mi piace
Reazioni: Q1P0 e GrincH--
Concordo, ho gestito vari progetti per uni con la venv di anaconda e miniconda e mi sono trovato benissimo
Ecco, un'altra cosa su cui faccio molta confusione il venv. Non ho ben chiaro quando, come e perché farlo, anzi non ho ben chiaro come andrebbe organizzato un progetto python in generale
 
Venv ti torna utile quando devi gestire progetti di medio-grandi dimensioni che necessita l'installazione di pacchetti e librerie.
Per esempio, ho dovuto recentemente interagire con un software di guida autonoma e dovevo insegnare alla macchina a guidare da sola:
Ho proceduto creando un nuovo ambiente virtuale (da qui venv = virtual environment) e ho potuto gestire la fase training del progetto installando tensorflow, pytorch e altri pacchetti a me utili semplicemente usando la shell di anaconda ( che ti troverai tra le tue cose di anaconda qualora tu scegliessi di scaricarlo).

Di base, utilizzando anaconda userai sempre un venv. Una volta aperto il navigator, premi su Environments e troverai un ambiente chiamato base (root):

1611311616923.png


Puoi scegliere se usare quell'ambiente o crearne un secondo, nella colonna di destra puoi vedere i pacchetti installati (installed), ma puoi anche vedere quelli non installati o cercarne uno su search packages (consigliato, molto veloce).

Usare un venv è consigliato anche qualora non avessi un IDE preferito o predefinito. Per esempio:
Aprendo Pycharm e scegliendo quale interprete usare, se sceglierai di usare il prompt collegato al venv di anaconda
1611311834180.png


e lo "registri" come interprete principale sul tuo progetto attuale in Pycharm non avrai necessità di dover riscaricare tutti i pacchetti su PyCharm perchè saranno già implementati tramite il prompt di anaconda.
 
Venv ti torna utile quando devi gestire progetti di medio-grandi dimensioni che necessita l'installazione di pacchetti e librerie.
Per esempio, ho dovuto recentemente interagire con un software di guida autonoma e dovevo insegnare alla macchina a guidare da sola:
Ho proceduto creando un nuovo ambiente virtuale (da qui venv = virtual environment) e ho potuto gestire la fase training del progetto installando tensorflow, pytorch e altri pacchetti a me utili semplicemente usando la shell di anaconda ( che ti troverai tra le tue cose di anaconda qualora tu scegliessi di scaricarlo).

Di base, utilizzando anaconda userai sempre un venv. Una volta aperto il navigator, premi su Environments e troverai un ambiente chiamato base (root):

Visualizza allegato 49348

Puoi scegliere se usare quell'ambiente o crearne un secondo, nella colonna di destra puoi vedere i pacchetti installati (installed), ma puoi anche vedere quelli non installati o cercarne uno su search packages (consigliato, molto veloce).

Usare un venv è consigliato anche qualora non avessi un IDE preferito o predefinito. Per esempio:
Aprendo Pycharm e scegliendo quale interprete usare, se sceglierai di usare il prompt collegato al venv di anaconda
Visualizza allegato 49350

e lo "registri" come interprete principale sul tuo progetto attuale in Pycharm non avrai necessità di dover riscaricare tutti i pacchetti su PyCharm perchè saranno già implementati tramite il prompt di anaconda.
Grazie, gentilissimo e molto preciso :) vorrei chiederti un'ultima cosa. Come editor cosa mi consigli? Considera che dovrei usare solo python. Sono indeciso ttra pycharm, spyder e il classico vscode
 
  • Mi piace
Reazioni: GrincH--
PyCharm offre (a mio avviso) una migliore gestione dei progetti, e, più facilmente riuscirai a scaricare librerie e moduli. (Non che negli altri sia difficile).
Spyder lo utilizzo solamente quando faccio Data Science, perchè (non che PyCharm non lo faccia), offre una panoramica più completa e "istantanea" dei grafici. VSCode non l'ho ancora mai usato e non saprei dirti, attualmente uso VSCode per HTML;CSS;PHP; e forse un PRO che mi viene in mente usandolo e forze questa sua potente funzionalità cross-Language, dove in un unico IDE puoi operare su più linguaggi. Uno simile a VSCode, se vuoi una quarta alternativa è ATOM, che se non erro è fatto da GitHub, sempre cross-language.
Io personalmente, ho iniziato su PyCharm e ancora non sento la necessità di doverlo abbandonare.
 
  • Mi piace
Reazioni: N3v5
Pycharm però se non sbaglio è molto pesante. Servono almeno 4gb di ram e 2,5 giga sul disco. Comunque sì, atom è di github ma è meno completo di vs code e mi ricordo che non era facilissimo collegarsi con il server.
 
  • Mi piace
Reazioni: Q1P0 e GrincH--
Non hai tutti i torti, PyCharm è un pesantuccio, però è efficiente. Non ho ben capito la seconda affermazione, colpa magari della mia inesperienza o non so, ma per il server non è PHP-side? Il ragazzo ha bisogno di Python, serve solo l'interprete e voli via con il vento :asd:
 
Non hai tutti i torti, PyCharm è un pesantuccio, però è efficiente. Non ho ben capito la seconda affermazione, colpa magari della mia inesperienza o non so, ma per il server non è PHP-side? Il ragazzo ha bisogno di Python, serve solo l'interprete e voli via con il vento :asd:
Si sì, con python dovrebbe andare bene, ma se dovesse usarlo per roba web mi ricordo che dava diversi problemi. Poi ormai non lo uso da almeno 3 anni, forse ricordo anche male
 
  • Mi piace
Reazioni: GrincH--
Fuori da HTML e Python ci sono molte alternative migliori, anche della stessa casa di Pycharm (JetBrain) solo che per esempio PHPStorm è purtroppo a pagamento
 
  • Mi piace
Reazioni: N3v5
Fuori da HTML e Python ci sono molte alternative migliori, anche della stessa casa di Pycharm (JetBrain) solo che per esempio PHPStorm è purtroppo a pagamento
Ok, grazie :) un ultima cosa. Io sul mio pc ho installato python. Ne sono sicuro, infatti dalla shell vedo python 3.9. Ma da prompt se digito "python" non trova nulla. Stessa cosa quando provo a lanciare un file.py. Mi dice "python non trovato". Potrebbe essere un problema di variabili d'ambiente?
 
  • Mi piace
Reazioni: GrincH--
Con Pycharm mi trovo bene, parlo senza aver vissuto un'esperienza con VSCode quindi sono sicuro che il tuo parere sarà più equo del mio.

Ok, grazie :) un ultima cosa. Io sul mio pc ho installato python. Ne sono sicuro, infatti dalla shell vedo python 3.9. Ma da prompt se digito "python" non trova nulla. Stessa cosa quando provo a lanciare un file.py. Mi dice "python non trovato". Potrebbe essere un problema di variabili d'ambiente?


Dal prompt se digiti python è basta e non succede nulla vuol dire che manca qualcosa.

Ecco alcuni rapidi comandi da digitare sul prompt per ottenere qualcosa:

Puoi verificare la corretta installazione di Python semplicemente digitando sul prompt dei comandi:

Python:
python --version

Se ti fornisce la versione, dovresti stare apposto e puoi digitare python come da immagine sotto:

1611488107426.png



Se non ti fornisce nulla:

Molto probabilmente non hai messo Python nella Path:

per risolvere:

Cerca modifica le variabili di ambiente relative al sistema e premi su varibili d'ambiente:

1611488288711.png



Premi su path e fai modifica:

Premi su nuovo > sfoglia e seleziona la cartella dove hai salvato Python (interprete) e aggiungi \scripts alla fine del percorso dentro path.
Poi riprova nuovamente a vedere se funziona
 
Con Pycharm mi trovo bene, parlo senza aver vissuto un'esperienza con VSCode quindi sono sicuro che il tuo parere sarà più equo del mio.




Dal prompt se digiti python è basta e non succede nulla vuol dire che manca qualcosa.

Ecco alcuni rapidi comandi da digitare sul prompt per ottenere qualcosa:

Puoi verificare la corretta installazione di Python semplicemente digitando sul prompt dei comandi:

Python:
python --version

Se ti fornisce la versione, dovresti stare apposto e puoi digitare python come da immagine sotto:

Visualizza allegato 49403


Se non ti fornisce nulla:

Molto probabilmente non hai messo Python nella Path:

per risolvere:

Cerca modifica le variabili di ambiente relative al sistema e premi su varibili d'ambiente:

Visualizza allegato 49404


Premi su path e fai modifica:

Premi su nuovo > sfoglia e seleziona la cartella dove hai salvato Python (interprete) e aggiungi \scripts alla fine del percorso dentro path.
Poi riprova nuovamente a vedere se funziona
Tra i path ho questo C: \Users\LaptopQ1P0\AppData\Local\Programs\Python\Python39\Scripts ma se provo a fare python --version da cmd mi dice comunque python non trovato :(
 
Uhm i casi possono essere vari tra cui:

Prima ho frainteso quanto scritto qui:

Premi su nuovo > sfoglia e seleziona la cartella dove hai salvato Python (interprete)

- Assicurati che non sia ".. \ python.exe" ma "Python 3.9" ossia la cartella.

- Hai inserito manualmente la directory? Cerca la cartella dove hai Python 3.9 e copia esattamente quel percorso, assicurati che sia giusto.

- Può sembrare banale, magari dovresti provare a ricaricare tutte le variabili d'ambiente:
Codice:
echo %PATH%

Nel cmd.

- Non ho mai provato, ma Python fornisce una piccola utility che dovrebbe risolvere il problema:

Codice:
c:\python27\tools\scripts\win_add2path.py

Questa penso possa essere la soluzione al tuo caso. Non so se sarà questo il caso, ma cerca di riavviare il pc delle volte, alcune operazioni lo necessitano.
 
Provato ma niente :/ Ho provato anche ad andare nella cartella Scripts a questo percorso:
C: \Users\LaptopQ1P0\AppData\Local\Programs\Python\Python39\Scripts
da cmd ed eseguire python --version ma nulla
 
Ultima modifica:
- Non ho mai provato, ma Python fornisce una piccola utility che dovrebbe risolvere il problema:

Codice:
c:\python27\tools\scripts\win_add2path.py

Questa penso possa essere la soluzione al tuo caso. Non so se sarà questo il caso, ma cerca di riavviare il pc delle volte, alcune operazioni lo necessitano.

Come hai svolto questo passaggio?

Ho bisogno di alcune informazioni:

- Hai scaricato altre versioni di Python oltre che a 3.9?
- Sei su Windows...quale versione?
- Nel frattempo che hai questo problema, hai provato a scaricate PyCharm o Anaconda?
- Se si (Hai scaricato PyCharm o Anaconda) hai problemi anche lì con Python?
- Se si, prova a spostare Python nella stessa directory dove hai salvato anche Anaconda e Pycharm (Solitamente C\Utenti\NomeUtente\Python3 e aggiorna anche il collegamento in PATH.

Ultimo:

Prova a cancellare Python da Pannello di Controllo > Programmi > Disinstalla Programmi > Python 3.9.0 -> Disinstalla

Successivamente, avendo la premura di verificare che il tuo dispositivo sia a 32 o 64-bit riscarica la versione giusta di Python 3.9 e abbi l'attenzione che quando te lo chiede, durante l'installazione fai select “Add Python 3.9 to PATH”