giovedì 12 dicembre 2013

Configurazione di Python tramite pyenv: livello locale

In questo post continuiamo la chiacchierata iniziata in quello precedente parlando della configurazione di Python tramite pyenv a livello locale.

Immaginate un vostro progetto che ha bisogno di usare una specifica versione di Python differente da quella globale: potete impostare questa versione perché si avvii solo nella directory che ospita il vostro progetto, in tutte le altre continueranno ad avviarsi le solite versioni.

Questo vuol dire che le impostazioni locali prevalgono su quelle globali, tenetelo sempre a mente.

Per impostare Python a livello locale si usa il comando

pyenv local 2.7.6

che ad esempio imposta Python 2.7.6 per la directory corrente.

Il comando fa anche altro: crea se non esiste, altrimenti lo aggiorna, il file .pyenv-version e dentro vi scrive una stringa uguale alla versione di Python da avviare in quella directory, in questo caso sarà "2.7.6".

Ogni volta che avvierete Python, pyenv controllerà prima la presenza di questo file nella directory corrente, se lo trova avvierà la versione corrispondente a quella stringa. Se non trova il file si rifà invece alle impostazioni globali.

Esattamente come a livello globale si possono impostare più versioni di Python anche a livello locale:

pyenv local 2.6.9 2.7.6

Invece il comando

pyenv local

senza ulteriori parametri, restituisce la/le versioni correntemente attive di Python per la directory corrente:

2.6.9                     
2.7.6

Se volete eliminare la configurazione locale di una directory, aprite il terminale in quella directory e date il comando:

pyenv local --unset

E anche per il livello locale è tutto. Nel prossimo post si parlerà invece dell'ultimo livello di controllo, quello più fine che pyenv permette: stabilire quale/quali versioni di Python avviare a livello di singola shell.