J'essaie d'obtenir un environnement virtuel pour une version qui nécessite python 3.5. J'utilise Debian, et d'après ce que je sais, python 3.5 n'a pas de paquet aptitude. Après avoir lu quelques posts, il a été recommandé de télécharger le code source de 3.5 et de le compiler.
Après avoir exécuté les commandes make et install, python3.5 a été installé dans /usr/local/bin. Je l'ai ajouté à la variable $PATH.
C'est ici que j'ai rencontré des problèmes. Après avoir exécuté :
$ cd project-dir
$ pyvenv env
$ source env/bin/activate
$ pip install -r requirements.txt
J'avais des problèmes avec le fait d'avoir besoin de sudo pour installer les bons paquets. J'ai exécuté :
$ which pip
et il s'avère que pip utilisait toujours la version /usr/local/bin de pip.
$ echo $PATH
retourné
/home/me/project-dir/env/bin:/usr/local/bin:/usr/bin:/bin: ...
Je suppose que parce que le chemin /usr/local est venu après le chemin de l'environnement virtuel dans ma variable PATH, il utilise cette version de pip au lieu de mes environnements virtuels.
Les deux options qui me viennent à l'esprit sont de déplacer les binaires dans /usr/bin ou de modifier l'activation script dans mon environnement virtuel pour placer le chemin de l'environnement virtuel après /usr/local.