Partage des environnements Python VirtualEnv
-
14-11-2019 - |
Question
J'ai un Python VirtualEnv (créé avec VirtualEnvWerapper) dans un compte utilisateur. Je voudrais l'utiliser à partir d'un autre compte d'utilisateur sur le même hôte.
Comment puis-je faire ceci? Comment puis-je configurer des environnements virtuels afin d'être disponible pour un utilisateur de l'hôte? (Principalement Linux / Debian mais aussi Mac OSX.)
Merci.
La solution
Mettez-le dans un répertoire neutre de l'utilisateur et rendez-le lisible en groupe.
Par exemple, pour les bibliothèques, j'utilise /srv/http/share/
pour partager du code sur les applications Web.
Vous pourriez utiliser /usr/local/share/
pour les applications normales.
Autres conseils
J'ai dû le faire pour les collègues de travail. Le @flavius réponse a très bien fonctionné une fois que j'ai ajouté quelques commandes à gérer virtualenvwrapper
. Vous devez mettre vos Venvs et votre dossier de projets WorkOn, vous, vous et votre patron / ami, pouvez trouver et utiliser.
sudo mkdir -p /usr/local/share
sudo mv ~/.virtualenvs /usr/local/share
sudo mkdir -p /usr/src/venv/
En supposant que vous voulez que tout le monde sur la machine puisse les deux mkproject
et workon
:
chmod a+rwx /usr/local/share/.virtualenvs
chmod a+rwx /usr/src/venv
Autrement chown
et chmod
pour faire correspondre vos exigences de sécurité.
Si vous avez des crochets ou des scripts qui vous attendent à ~ / .virtualenvs pour être à l'endroit normal, vous mieux le symboliser (sur votre compte utilisateur et celui de votre ami)
ln -s /usr/local/share/.virtualenvs ~/.virtualenvs
Puis modifiez votre (et tes amis) .bashrc
Fichier pour informer VirtualEnvWrapper où vous avez déplacé les choses. Votre Bashrc devrait avoir quelque chose comme ceci:
export PROJECT_HOME="/usr/src/venv/"
export WORKON_HOME="/usr/local/share/.virtualenvs"
export USR_BIN=$(dirname $(which virtualenv))
if [ -f $USR_BIN/virtualenvwrapper.sh ]; then
source $USR_BIN/virtualenvwrapper.sh
else
if [ -f /usr/bin/virtualenvwrapper.sh ]; then
source /usr/bin/local/virtualenvwrapper.sh
else
echo "Can't find a virtualenv wrapper installation"
fi
fi
Une fois que vous vous êtes déconnecté (ou simplement source ~/.bashrc
Vous devriez être prêt à aller avec des commandes comme mkproject awesome_new_python_project
et workon awesome_new_python_project
.
En prime, ajoutez des crochets pour charger le dossier du projet en sublime chaque fois que vous workon
.