4 votes

ModuleNotFoundError : Aucun module nommé 'pip._vendor.six'.

Je suis nouveau sur Ubuntu (20.04.2.0 LTS) et j'essaie de faire fonctionner Python3.9.6 et Pip avec Virtualenv.

J'espère que certains d'entre vous, utilisateurs expérimentés d'Ubuntu, pourront m'aider :)

Je n'ai aucun problème à utiliser Python par défaut (3.8.10) :

$ python3 -V Python 3.8.10

$ whereis python3 
/usr/bin/python3.8

$ pip3 -V 
pip 21.1.3 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)

$ virtualenv env_python3.8 
created virtual environment CPython3.8.10.final.0-64 in 155ms

$ source env_python3.8/bin/activate

(env_python3.8) usagi@dev:~$ pip list 
Package Version
pip 20.0.2 pkg-resources 0.0.0
setuptools 44.0.0 wheel 0.34.2

(env_python3.8) usagi@dev:~$ pip install django 
Successfully installed asgiref-3.4.1 django-3.2.5 pytz-2021.1 sqlparse-0.4.1

(env_python3.8) usagi@dev:~$ pip list 
Package Version
asgiref 3.4.1
Django 3.2.5
pip 20.0.2 pkg-resources 0.0.0
pytz 2021.1 setuptools 44.0.0 sqlparse 0.4.1
wheel 0.34.2

Ces étapes fonctionnent sans aucun problème, mais si je fais les mêmes étapes pour Python3.9.6 (à partir de la source), cela ne fonctionnera pas :

$ python3.9 -V 
Python 3.9.6

$ whereis python3 
/usr/local/bin/python3.9

Guess this is one the problems, pip3 looking at Python3.8
$ pip3 -V 
pip 21.1.3 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)

$ virtualenv -p /usr/local/bin/python3.9 env_python3.9 
created virtual environment CPython3.9.6.final.0-64 in 113ms

$ source env_python3.9/bin/activate

(env_python3.9) usagi@dev:~$ python -V 
Python 3.9.6

(env_python3.9) usagi@dev:~$ pip -V 
Traceback (most recent call last): File "/home/usagi
/env_python3.9/bin/pip", line 5, in from pip._internal.cli.main import main File "/home
/usagi/env_python3.9/lib/python3.9/site-packages/pip/_internal/cli/main.py", line 10, in 
from pip._internal.cli.autocompletion import autocomplete File "/home/usagi/env_python3.9
/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py", line 9, in from 
pip._internal.cli.main_parser import create_main_parser File "/home/usagi/env_python3.9
/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py", line 7, in from 
pip._internal.cli import cmdoptions File "/home/usagi/env_python3.9/lib/python3.9/site-
packages/pip/_internal/cli/cmdoptions.py", line 24, in from pip._internal.exceptions 
import CommandError File "/home/usagi/env_python3.9/lib/python3.9/site-packages
/pip/_internal/exceptions.py", line 10, in from pip._vendor.six import iteritems 
ModuleNotFoundError: No module named 'pip._vendor.six'

J'ai essayé de trouver des informations sur cette erreur mais je n'ai pas trouvé de solution.

Si l'un d'entre vous a rencontré le même problème ou le reconnaît et souhaite m'aider, je vous suis reconnaissant de toute l'aide que vous pourrez m'apporter.

Meilleures salutations, /Mikael

0voto

Nintenrax Points 13

Je devenais ModuleNotFoundError: No module named 'pip._vendor.six' erreurs lors de l'exécution d'une application Django sur Ubuntu 20.04 LTS avec pipenv. La solution était de supprimer certains fichiers de l'ancienne version de virtualenv avec rm -rf ~/.local/share/virtualenvs après quoi les installations de paquets ont commencé à fonctionner et j'ai pu lancer l'application. Cela vaut peut-être la peine d'essayer.

J'ai donné une réponse plus détaillée à ce sujet dans un autre fil de discussion sur le SO. https://stackoverflow.com/a/71542588/1669514 mais je me suis dit que je pourrais aussi en parler ici, car ces deux éléments figuraient en bonne place dans mes recherches alors que je passais une demi-journée à les comprendre.

-1voto

ajgringo619 Points 1015

Je ne peux pas vous dire pourquoi votre version compilée ne fonctionne pas. En utilisant le repo Ubuntu, vous pouvez obtenir ce que vous voulez et sera mis à jour avec le reste du système :

sudo apt install python3.9 python3.9-venv

cela vous donnera pip3.9 et la possibilité de créer un environnement virtuel, quelque chose comme ça :

python3.9 -m venv $HOME/.venv/python3.9

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X