J’ai il y a quelques temps fait de multiples tests chez AD. Certains nécessitaient l’utilisation de paquet python non installé par défaut sur le serveur mutu AD. Du coup, j’ai voulu installer virtualenwrapper pour me simplifier la tache.
Voici la méthode que j’ai utilisé. Je suis preneur de toute amélioration que vous pourriez me remonter sur ma manière de faire (pour le jour où j’aurais vraiment besoin d’installer des choses pour faire de la prod avec du virtualenv). D’ailleurs je la partage ici autant pour le plaisir de la partager, que pour ne pas l’oublier que pour vous permettre de l’améliorer.
Le commencement, installer virtualenwrapper. En local sur son home. En faisant :
pip install --install-option="--user" virtualenvwrapper
du coup cela vous installe le tout dans $HOME/.local/….
Une fois installé, il faut faire (comme pour installation normale) la création du répertoire de vos environnements en faisant :
export WORKON_HOME=$HOME/.virtualenvs mkdir -p $WORKON_HOME
Ensuite histoire de ne plus avoir à le faire, dans votre .bash_profile :
export PYTHONPATH=~/.local export WORKON_HOME=~/.virtualenvs export PATH=$PATH:$PYTHONPATH/bin source ~/.local/bin/virtualenvwrapper.sh
un petit coup de
source ~/.local/bin/virtualenvwrapper.sh
et Voila ! (à dire comme avec l’accent d’un américain qui prend un accent français).
Vous aller pouvoir faire des mkvirtualenv en veux tu en voilà !
(Un petit tips, si vous faites du django, il ne faut pas oublier dans votre django.fcgi d’ajouter une ligne
sys.path.insert(0,'/home/$USER/.virtualenvs /VENV_NAME/lib/python2.6/site-packages'
)
One Response to “Installation de virtualenvwrapper chez Alwaysdata”
Sorry, the comment form is closed at this time.
Pour ma part je fais de la sorte :
(j’ai mis à jour pip de la version 0.4 à la version 1.1 comme suit 🙂
# j'ai callé l'installation de pip là où j'ai pu
mkdir -p ~/.local/easy_install
# mise à jour d'après la doc d'alwaysdata
PYTHONPATH=~/.local/easy_install easy_install --install-dir ~/.local/easy_install -U pip
Rien à redire sur la configuration du .bash_profile mais il suffit de faire un
pour bénéficier des commandes, etc. Pour ma part, je force pip à utiliser un virtualenv, il me semble que c’est plutôt une bonne pratique. On peut aussi configurer le fichier .pip/pip.conf plutôt que le .bash_profile
export WORKON_HOME=$HOME/.virtualenvs
export PATH=$PATH:$PYTHONPATH/bin
source $HOME/.local/bin/virtualenvwrapper.sh
export PIP_REQUIRE_VIRTUALENV=true' > .bash_profile
source .bash_profile
Pour Django, j’utilise ça juste après le shebang :
venv = '/home/{0}/.virtualenvs/{1}/bin/activate_this.py'.format(getpass.getuser(), NOM_DU_VIRTUALENV)
execfile(venv, dict(__file__=venv))
J’ai recopié le code d’un vieux post sur le forum d’alwaysdata. J’avoue ne pas maîtriser la différence avec ta proposition mais j’imagine qu’il est préférable de passer par ce script …