Python : comment corriger l'erreur Could not install packages due to an EnvironmentError: [Errno 13] ?
Lorsque vous utilisez pip, le gestionnaire de paquets intégré avec le langage Python, il va automatiquement vérifier ses mises à jour. S'il y en a une de disponible, il vous indiquera alors la commande suivante pour le mettre à jour : "pip install --upgrade pip". Cependant, cette commande est une commande générique qu'il faut adapter selon votre installation. Il existe heureusement plusieurs solutions possibles pour résoudre l'erreur.
La première cause d'erreur peut être le fait que vous utilisiez Python 3 sur votre ordinateur. Pour les machines sous macOS et Linux, la commande n'est pas la même. Si vous utilisez pip, alors ce sera Python 2 qui sera utilisé. Pour utiliser la version 3 de Python, vous devez faire appel à la commande "pip3".
pip3 install --upgrade pip
Si le message contient l'erreur "Permission denied", alors il s'agit d'un souci de permission. Le message d'erreur contient alors directement les instructions nécessaires pour résoudre le problème. Vous pouvez ajouter l'option "--user". Cela va mettre à jour pip dans votre répertoire utilisateur, et vous n'aurez alors aucun problème de permission. Si pip est installé au niveau du système, vous devez soit lancer l'invite de commande en mode Administrateur sous Windows, soit préfixer la commande de "sudo". Vous aurez donc besoin d'être administrateur de votre machine pour effectuer la manipulation.
//Mise à jour dans le répertoire de l'utilisateur pip3 install --upgrade pip --user //Mise à jour en mode administrateur sudo pip3 --upgrade pip
Il est plus facile de gérer vos paquets pour un projet en utilisant le système d'environnement virtuel. Le paquet "virtualenv" permet de créer des environnements virtuels au sein desquels vous choisissez la version de Python à utiliser ainsi que les paquets. Vous disposez ainsi d'une installation adaptée en permanence au projet de votre choix. La commande "virtualenv" permet de créer l'environnement virtuel. On indique un nom et l'option "-p" permet d'indiquer la version de Python utilisée.
//Création de l'environnement virtualenv nom_environnement -p python3 //On active ensuite l'environnement avec la commande "source" suivie du chemin vers le script d'activation. source nom_environnement/bin/activate
Une fois activé, vous verrez le nom de l'environnement dans la commande Python sur le côté gauche de votre terminal ou invite de commande. Vous pouvez du coup utiliser directement la commande indiquée dans le message. En effet, la commande "pip" pointe directement vers la seule version de Python installée dans l'environnement, et pip est directement installé dans l'environnement.
pip install --upgrade pip