[Python] Usare il corretto virtualenv

Manlio Perillo manlio.perillo a gmail.com
Mer 19 Ago 2015 17:17:01 CEST


Sto scrivendo uno script di bootstrap che deve creare un virtualenv.
Lo script dovrà girare sia sul mio PC che su un serve esterno.

Ora, il problema è che sul mio sistema la versione di default di Python è
la 3, quindi `virtualenv` crea di default un virtualenv per python 3,
mentre la versione corretta da usare è `virtualenv2`.

Di contro, sul server esterno, la versione di default di Python è la 3,
quindi `virtualenv2` non esiste (MA PERCHÈ?) e `virtualenv` di default crea
un virtualenv per python 2.

Il mio script è il seguente:

# `make_virtualenv` makes a Python virtual environment in the specified
# directory.
function make_virtualenv()
{
    root=$1

    # Handle the mess with python2/python3 by first checking for virtualenv
for
    # python2 and, if not available, use the default binary.
    if [ -x "$(command -v virtualenv2)" ]; then
        virtualenv2 "$root"
    elif [ -x "$(command -v virtualenv)" ]; then
        # TODO(mperillo): This still does not guarantee that virtualenv for
        #   python2 is used.
        virtualenv "$root"
    else
        echo "virtualenv not found"
        exit 1
    fi
}

Funziona, ma temo che non sia robusta perchè, come scritto nel commento,
non mi sembra garantisca che venga *sempre* usato Python 2.

Consigli per una soluzione ottimale?


Grazie  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150819/733e6adf/attachment.html>


Maggiori informazioni sulla lista Python