[Python] virtualenv in Visual Studio Code

Configurazione e uso di IDE, editor, compilatori, in fase di programmazione.
Avatar utente
Atomo
Prode Principiante
Messaggi: 171
Iscrizione: venerdì 24 ottobre 2008, 21:34
Desktop: Gnome
Distribuzione: Ubuntu 21.04

[Python] virtualenv in Visual Studio Code

Messaggio da Atomo »

Ciao :ciao: ,
è da un po' che mi diverto a programmare semplici scipt in Python 3 per semplificarmi alcuni lavori su Windows e mi trovo bene con l'editor VS Code. Un po' di tempo fa qui sul forum mi hanno fatto scoprire gli ambienti virtuali, comodissimi, ma con questo editor mi trovo ad avere un problema. Creando una cartella, per esempio "Script1" con al suo interno un ambiente virtuale, non riesco a capire come far rilevare automaticamente il sistema virtuale all'editor, il quale continua invece a vedere solo quello generale di sistema.
La mia cartella di lavoro in Windows è organizzata così:

> Documenti
>>>> progetti
>>>>>>>python
>>>>>>>>>> progetto1
............….........Include
............….........Lib
............….........Scripts
............….........tcl
............….........progetto1.py

progetto1.py è il file che contiene il codice ovviamente, mentre python.exe si trova dentro la cartella Scripts. La cartella selezionata in VSCode è progetti (quindi VSCode non vede Documenti), così da poter vedere, se necessario, oltre la cartella del progetto1 anche tutte quelle degli altri script che però sfruttano python di sistema.

La domanda quindi è: come faccio a dire a VSCode di usare l'interprete che sta nell'ambiente virtuale (quindi in Scripts) e non quello di sistema?
Andando a guardare sul sito di VSCode ho trovato:
Where the extension looks for environments

The extension automatically looks for interpreters in the following locations:
  • Standard install paths such as /usr/local/bin, /usr/sbin, /sbin, c:\\python27, c:\\python36, etc.
  • Virtual environments located directly under the workspace (project) folder.
  • Virtual environments located in the folder identified by the python.venvPath setting (see General settings), which can contain multiple virtual environments. The extension looks for virtual environments in the first-level subfolders of venvPath.
    [...]
(qui: https://code.visualstudio.com/docs/pyth ... vironments)
Il punto due, mi pare di capire, dice che verranno trovati tutti gli ambienti posti direttamente sotto il workspace, quindi dovrebbe trovarlo da solo, o no? La cartella workspace chi sarebbe precisamente? Quella che ho selezionato in VSCode (quindi progetti), o quella in cui si trova il file .py aperto al momento (quindi progetto1)?

Io non faccio il programmatore di professione, ho solo imparato a usare qualche riga di codice per semplificarmi dei compiti, quindi non ho chiari molti punti, qualcuno può aiutarmi?

Grazie :)

(modifica: ho modificato lo schema dell'albero delle cartelle, ne avevo dimenticata una).
Ultima modifica di Atomo il venerdì 16 novembre 2018, 13:14, modificato 1 volta in totale.
---
Avatar utente
Atomo
Prode Principiante
Messaggi: 171
Iscrizione: venerdì 24 ottobre 2008, 21:34
Desktop: Gnome
Distribuzione: Ubuntu 21.04

Re: [Python] virtualenv in Visual Studio Code

Messaggio da Atomo »

Ho fatto un po' di prove mettendo ambienti virtuali un po' ovunque per vedere quando VSCode riesce a trovarli.
Se la cartella aperta in VSCode è "Progetti" e al suo interno si trova quella del progetto1, con all'interno il file .py e la cartella dell'ambiente virtuale, allora VSCode vede e carica questo ambiente quando si apre il file .py. Se però si trova in un percorso più profondo per così dire (ad esempio progetti>python>progetto1), non lo vede. (Nell'albero che ho schematizzato nel primo post ho dimenticato questa cartella intermedia, provvedo a correggere).

La cosa quindi così funziona ma mi rimane il problema che nel modo in cui organizzo io le mie cartelle questi ambienti virtuali restano invisibili.
Sicuramente non è il miglior modo di organizzare il tutto, ma io mi trovo così. Altrimenti che faccio? metto tutti gli ambienti virtuali fuori dalle cartelle progetto? O tutti i progetti in una sola cartella indipendentemente dal linguaggio usato? Non è un po' confusionario? :sgrat:
---
Scrivi risposta

Ritorna a “Strumenti per la programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 13 ospiti