Pip : résoudre l'erreur cannot import name 'main'
L'erreur "cannot import name 'main'" rend PIP inutilisable sous Linux mais peut heureusement être corrigée. Voici comment.
Si vous utilisez le gestionnaire de paquets PIP à partir d'un système d'exploitation Linux, vous pouvez rencontrer le message d'erreur "ImportError: cannot import name 'main'". Cette erreur rend PIP inutilisable mais peut heureusement être corrigée.
La première chose à connaître est la provenance de l'erreur car dans ce cas il s'agit d'une mauvaise manipulation de l'utilisateur. Si vous rencontrez ce message d'erreur, c'est que vous avez mis à jour PIP avec la commande "pip" directement. Voici par exemple une commande qui reproduit ce problème :
sudo pip install pip --upgrade
Il est déconseillé de mettre à jour PIP de cette manière car le logiciel est un paquet système. Il doit donc être mis à jour avec le gestionnaire de paquet système, et non se mettre à jour lui-même. Dans les systèmes d'exploitation Debian ainsi que ses dérivés, par exemple Ubuntu, PIP s'utilise avec la commande "pip3". En mettant à jour PIP sans passer par le gestionnaire de paquet du système, vous "cassez" la commande "pip3", qui produira ce message d'erreur systématiquement.
Pour réparer la commande de PIP utilisée par votre système, il faut d'abord désinstaller la version de PIP. On se sert pour cela de la commande "python3" avec l'argument "-m" pour exécuter le module "pip". Cette commande permet de toujours utiliser PIP même quand la commande de base ne fonctionne pas. Toutefois, il est recommandé de réparer l'installation du paquet. Vous devez connaître le mot de passe du compte administrateur de la machine pour lancer cette commande.
sudo python3 -m pip uninstall pip
Vous pouvez ensuite réinstaller PIP avec votre gestionnaire de paquet. Voici la commande pour un système d'exploitation utilisant le gestionnaire de paquet APT, par exemple Debian ou une dérivée :
sudo apt install python3-pip --reinstall