Mysql
 sql >> Database >  >> RDS >> Mysql

virtualenv che può trovare librerie trasferite (come mysqlclient lib per MySQLdb)

So che questa domanda è un po' vecchia, ma mi piacerebbe condividere la mia soluzione per la mancanza di trovarla tramite Google:

Nel deactivate () funzione, aggiungi le seguenti righe:

    if ! [ -z ${_OLD_LD_LIBRARY_PATH+x} ] ; then
        LD_LIBRARY_PATH="$_OLD_LD_LIBRARY_PATH"
        export LD_LIBRARY_PATH
        unset _OLD_LD_LIBRARY_PATH
    fi

Nota che sto usando un -z negato espressione - gli script di ripristino esistenti per PATH e PYTHONHOME usa -n , che restituisce erroneamente false se _OLD_LD_LIBRARY_PATH è impostato su una stringa vuota.

Quindi, sotto deactivate () funzione, aggiungi la seguente sezione:

_OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$VIRTUAL_ENV/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH