Question

Je souhaite donc commencer à utiliser virtualenv cette année. J'aime l'option no-site-packages, c'est bien. Cependant, je me demandais comment installer certains paquets dans chaque virtualenv. Par exemple, disons que je veux installer django dans chaque virtualenv ... est-ce possible, et si oui, comment? Le buildout répond-il à cela?

Eh bien, ce n'est pas vraiment django, mais plutôt les applications django ... Cela ne me dérange pas d'installer une version de django dans chaque virtualenv ... Je me demandais simplement s'il existait une option intermédiaire pour "no-site-packages"

Était-ce utile?

La solution

Je suggérerais d'utiliser les virtualenv "rel =" nofollow noreferrer "> amorçage prise en charge. Cela vous permet d’exécuter Python de manière arbitraire après la création de virtualenv, comme l’installation de nouveaux packages.

Autres conseils

Je sais d'où vous venez avec l'option no-sites. Je veux utiliser pip freeze pour générer des listes d'exigences et je ne veux pas trop de ressources supplémentaires dans les packages de site. Je dois également utiliser plusieurs versions de Django car j'ai des projets hérités que je n'ai pas mis à niveau (certains anciens SVN Checkouts (pre1.0), certains 1.0, et de nouveaux SVN Checkouts). L’installation de Django dans le paquet global de site n’est pas vraiment une option.

À la place, j'ai un dossier Django avec des versions et plusieurs versions de svn, ainsi qu'un lien symbolique vers la version appropriée dans les packages de site locaux. Pour faciliter l’utilisation, je crée un lien vers les packages de site locaux au même niveau que l’environnement, puis dans le répertoire django approprié et avec tout autre "système". paquets de style dont j'ai besoin (généralement juste PIL). Donc:

$ virtualenv pyenv
$ ln -s ./pyenv/lib/python2.5/site-packages ./installed
$ ln -s /usr/lib/python2.5/site-packages/PIL ./installed
$ ln -s /opt/django/django1.0svn/trunk/django ./installed

Maintenant, les travaux suivants:

$ source pyenv/bin/activate
$ python
> import django
> import PIL

Si vous voulez que django soit installé sur CHAQUE virtualenv, vous pouvez également l’installer dans le répertoire site-packages? Juste une pensée.

L’autre option (que j’ai utilisée) est d’installer easy_install Django après avoir créé l’environnement virtuel. Ceci est facilement scripté. La pénalité que vous payez attend l'installation de Django dans chacun de vos environnements virtuels.

Je suis avec Toby, cependant: à moins d'une raison convaincante, pourquoi vous devez disposer d'une copie distincte de Django dans chaque environnement virtuel, vous devez simplement envisager de l'installer dans votre zone Python principale. et permettant à chaque environnement virtuel de l'utiliser à partir de là.

Je souhaite consulter ce projet:

http: // www .stereoplex.com / two-voix / fez-djangoskel-django-projets-et-apps-as-œufs

Peut-être ma réponse ....

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top