154 votes

Double virtualenv

J'ai un environnement existant dans le virtualenv, avec beaucoup de paquets, mais une ancienne version de Django.

Que faire si je veux dupliquer cet environnement,
donc, je peux avoir un autre environnement dans lequel je peux installer une nouvelle version de Django,
mais en gardant tous les paquets qui sont déjà dans l'autre environnement?

207voto

rdegges Points 3008

Le plus simple est d'utiliser le pip pour générer un fichier. Une des exigences de fichier est en fait un fichier qui contient une liste de tous les paquets python que vous voulez installer (ou l'ont déjà installé en cas de fichier généré par pip), et les versions qu'ils sont à.

Pour générer un fichier, aller dans l'original de votre virtualenv, et de l'exécuter:

pip freeze > requirements.txt

Cela permet de générer le requirements.txt fichier pour vous. Si vous ouvrez ce fichier dans votre éditeur de texte favori, vous verrez quelque chose comme:

Django==1.3
Fabric==1.0.1
etc...

Maintenant, modifiez la ligne qui dit Django==x.x-à-dire Django==1.3 (ou quelle que soit la version que vous souhaitez installer dans votre nouvelle virtualenv).

Enfin, activez votre nouvelle virtualenv, et de l'exécuter:

pip install -r requirements.txt

Et pip va automatiquement télécharger et installer tous les modules python répertoriés dans votre requirements.txt fichier, quel que soit les versions que vous avez spécifié!

36voto

alecxe Points 50783

Une autre option est d'utiliser virtualenv-clone paquet de:

Un script de clonage d'un non-délocalisables virtualenv.

0voto

Spacedman Points 33792

Ne pouvez-vous pas tout simplement:

  • Copiez le virtuel existant env répertoire à un nouveau
  • Mise à jour pour le nouveau Django?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X