Configuration supplémentaire de Pip et Virtualenv

Obliger l’utilisation d’un environnement virtuel actif pour pip

Maintenant, il devrait être clair que l’utilisation d’environnements virtuels est une excellente façon de garder votre environnement de développement propre et de garder les ‘requirements’ des différents projets distincts.

Lorsque vous commencez à travailler sur de nombreux projets différents, il peut être difficile de se rappeler d’activer l’environnement virtuel associé quand vous revenez à un projet spécifique. De ce fait, il est très facile d’installer des paquets globalement tout en pensant que vous installez vraiment le paquet pour l’environnement virtuel du projet. Au fil du temps, cela peut se traduire par une liste globale de paquets désordonnée.

Pour vous assurer que vous installez des paquets dans votre environnement virtuel actif lorsque vous utilisez pip install, envisagez d’ajouter les deux lignes suivantes à votre fichier ~/.bashrc:

export PIP_REQUIRE_VIRTUALENV=true

Après avoir enregistré ce changement et rechargé le fichier ~/.bashrc avec source ~/.bashrc, pip ne vous laissera plus installer des paquets si vous n’êtes pas dans un environnement virtuel. Si vous essayez d’utiliser pip install en dehors d’un environnement virtuel, pip va gentiment vous rappeler qu’un environnement virtuel actif est nécessaire pour installer des paquets.

$ pip install requests
Could not find an activated virtualenv (required).

Vous pouvez également faire cette configuration en éditant votre fichier pip.conf ou pip.ini. pip.conf est utilisé par les systèmes d’exploitation Unix et Mac OS X et il peut être trouvé dans:

$HOME/.pip/pip.conf

De même, le fichier pip.ini est utilisé par les systèmes d’exploitations Windows et peut trouvé dans:

%HOME%\pip\pip.ini

Si vous n’avez pas de fichiers a pip.conf ou pip.ini dans ces emplacements, vous pouvez créer un nouveau fichier avec le nom correct pour votre système d’exploitation.

Si vous avez déjà un fichier de configuration, ajoutez juste la ligne suivante à sous la configuration [global] pour obliger l’usage d’un environnement virtuel actif:

require-virtualenv = true

Si vous n’avez pas un fichier de configuration, vous devrez en créer un nouveau et ajouter les lignes suivantes à votre nouveau fichier:

[global]
require-virtualenv = true

Vous aurez bien sûr besoin d’installer certains paquets globalement (généralement ceux que vous utilisez dans différents projets systématiquement) et cela peut être accompli en ajoutant ce qui suit à votre fichier ~/.bashrc:

gpip() {
    PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

Après avoir sauvé les changements et rechargé votre fichier ~/.bashrc, vous pouvez maintenant installer des paquets globalement en exécutant gpip install. Vous pouvez changer le nom de la fonction à votre guise, gardez juste à l’esprit que vous devrez utiliser ce nom lorsque vous essayerez d’installer des paquets globalement avec pip.

Mettre en cache les paquets pour les utilisations futures

Chaque développeur a ses bibliothèques préférées et quand vous travaillez sur un grand nombre de projets différents, vous êtes amenés à avoir un certain chevauchement entre les bibliothèques que vous utilisez. Par exemple, vous utilisez peut-être la bibliothèque requests dans un grand nombre de projets différents.

Il est certainement inutile de retélécharger les mêmes paquets/bibliothèques chaque fois que vous commencez à travailler sur un nouveau projet (et dans un nouvel environnement virtuel par conséquent). Heureusement, vous pouvez configurer pip de manière à ce qu’il essaie de réutiliser les paquets déjà installés.

Sur les systèmes UNIX, vous pouvez ajouter la ligne suivante à votre fichier .bashrc ou .bash_profile.

export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache

Vous pouvez définir les chemins n’importe où (à partir du moment où vous avez les droits en écriture). Après avoir ajouté cette ligne, faites un source de votre fichier .bashrc (ou .bash_profile) et vous serez fin prêt.

Une autre manière de faire la même configuration est via les fichiers pip.conf ou pip.ini, selon votre système d’exploitation. Si vous êtes sous Windows, vous pouvez ajouter la ligne suivante à votre fichier pip.ini sous la configuration [global]:

download-cache = %HOME%\pip\cache

De même, sur les systèmes UNIX, vous devriez simplement ajouter la ligne suivante à votre fichier pip.conf sous la configuration [global]:

download-cache = $HOME/.pip/cache

Même si vous pouvez utiliser le chemin que vous voulez pour stocker votre cache, il est recommandé que vous créiez un nouveau dossier dans le dossier où votre fichier pip.conf ou pip.ini est situé. Si vous ne vous faites pas confiance complètement sur cette utilisation obscure des chemins, il suffit d’utiliser les valeurs fournies ici et tout ira bien.