Bonjour !
Résumé : j'ai un problème avec pip et virtualenv. Que mon virtualenv soit activé ou non, pip installe les paquets dans le site-packages du venv, mais en dehors de mon venv, Python lit les paquets depuis un dossier totalement différent (détails ci-dessous), ce qui fait que je ne peux pas installer de paquets pour mon Python en dehors du venv. Je pense que je dois m'assurer que pip installe à des endroits différents lorsqu'il est à l'intérieur ou à l'extérieur de venv. Je n'arrive pas à trouver un fichier de configuration pour mon pip où cela est indiqué et la plupart des pages wabpages que j'ai regardées ne sont pas vraiment pertinentes pour mon problème ou sont bien au-dessus de mes compétences...
Quelques détails (je suis encore novice dans l'utilisation d'ubuntu, de linux, et des données de Python, donc si j'oublie une information importante, merci de me le dire et j'essaierai de compléter ce qui manque) : Hors venv :
$which python
se traduit par
usr/bin/python
y
$which pip
donne
/home/username/.local/bin/pip
J'ai découvert que le paquetage du site Python peut identifier où il cherche des paquets, voici donc le résultat de son utilisation (j'inclus également ce qui m'a notifié le problème) :
$ python
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
>>> import site
>>> print(site.getsitepackages())
['/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.6/dist-packages']
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
>>> exit()
$ pip install numpy
Requirement already satisfied: numpy in ./projectFolder/venv/lib/python3.6/site-packages (1.17.4)
En regardant les répertoires, je ne trouve pas de répertoire site-package pour Python mais je peux trouver un dist-packages (comme ci-dessus) tandis que dans venv il y a un site-packages où pip installe les paquets.
L'activation de ma veine donne les résultats suivants :
(venv)$ which python
/home/username/projectFolder/venv/bin/python
(venv)$ which pip
/home/username/projectFolder/venv/bin/pip
L'utilisation du site sous venv donne :
(venv)$ python
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
>>> import site
>>> print(site.getsitepackages())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'site' has no attribute 'getsitepackages'