<div dir="ltr">Sto scrivendo uno script di bootstrap che deve creare un virtualenv.<div>Lo script dovrà girare sia sul mio PC che su un serve esterno.</div><div><br></div><div>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`.</div><div><br></div><div>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.</div><div><br></div><div>Il mio script è il seguente:</div><div><br></div><div><div># `make_virtualenv` makes a Python virtual environment in the specified</div><div># directory.</div><div>function make_virtualenv()</div><div>{</div><div>    root=$1</div><div><br></div><div>    # Handle the mess with python2/python3 by first checking for virtualenv for</div><div>    # python2 and, if not available, use the default binary.</div><div>    if [ -x "$(command -v virtualenv2)" ]; then</div><div>        virtualenv2 "$root"</div><div>    elif [ -x "$(command -v virtualenv)" ]; then</div><div>        # TODO(mperillo): This still does not guarantee that virtualenv for</div><div>        #   python2 is used.</div><div>        virtualenv "$root"</div><div>    else</div><div>        echo "virtualenv not found"</div><div>        exit 1</div><div>    fi</div><div>}</div></div><div><br></div><div>Funziona, ma temo che non sia robusta perchè, come scritto nel commento, non mi sembra garantisca che venga *sempre* usato Python 2.</div><div><br></div><div>Consigli per una soluzione ottimale?</div><div><br></div><div><br></div><div>Grazie  Manlio</div><div><br></div></div>