Je suis confus quant à où je devrais mettre mes virtualenvs.
Avec mon premier projet Django, j'ai créé le projet avec la commande
Django-admin.py startproject djangoproject
J'ai ensuite gravé le répertoire djangoproject et lancé la commande
virtualenv env
qui a créé le répertoire de l’environnement virtuel au même niveau que le répertoire interne djangoproject
.
Est-ce le mauvais endroit pour créer le virtualenv pour ce projet particulier?
J'ai l'impression que la plupart des gens conservent tous leurs virtualenvs dans un répertoire totalement différent, par exemple. ~/virtualenvs
, puis utilisez virtualenvwrapper pour basculer entre eux.
Y a-t-il une manière correcte de faire ceci?
Beaucoup de gens utilisent l'outil virtualenvwrapper , qui garde tous les virtualenvs au même endroit (le ~/.virtualenvs
répertoire) et permet des raccourcis pour les créer et les conserver. Par exemple, vous pourriez faire:
mkvirtualenv djangoproject
et plus tard:
workon djangoproject
C'est probablement une mauvaise idée de conserver le répertoire virtualenv dans le projet lui-même, car vous ne souhaitez pas le distribuer (cela peut être spécifique à votre ordinateur ou à votre système d'exploitation). Au lieu de cela, conservez un fichier Requirements.txt en utilisant pip :
pip freeze > requirements.txt
et distribuer cela. Cela permettra aux personnes utilisant votre projet de réinstaller toutes les mêmes exigences dans leur virtualenv avec:
pip install -r requirements.txt
Changer l'emplacement du répertoire virtualenv le casse
C'est un avantage majeur de placer le répertoire en dehors de l'arborescence du référentiel, par exemple. en dessous de ~/.virtualenvs
avec virutalenvwrapper
.
Sinon, si vous le conservez dans l'arborescence du projet, le déplacement de l'emplacement du projet interrompt virtualenv.
Voir: Renommer un dossier virtualenv sans le casser
Il y a --relocatable
mais il est connu pour ne pas être parfait.
Autre avantage mineur: vous n'êtes pas obligé de .gitignore
il.
Si ce n’était pas le cas, je laisserais simplement mes virtualenvs gitignored dans l’arborescence du projet lui-même afin de garder les éléments connexes à proximité.
C’est très bien, car vous ne réutiliserez probablement jamais un environnement virtuel donné dans l’ensemble des projets.
L'emplacement généralement accepté pour les placer est le même endroit que l'installation par défaut de virtualenvwrapper les met: ~/.virtualenvs
En relation: virtualenvwrapper est un excellent outil qui fournit des raccourcis pour les commandes communes de virtualenv. http://www.doughellmann.com/projects/virtualenvwrapper/
Si vous utilisez pyenv install Python
, Alors pyenv-virtualenv sera une bonne pratique. Si le fichier .python-version
Est défini, il peut activer ou désactiver automatiquement l’environnement virtuel lorsque vous modifiez le dossier de travail. Pyenv-virtualenv
Place également tous les envois virtuels dans le dossier $HOME/.pyenv/versions
.