Python / Corriger « Accès refusé » avec pip sous Windows

Si pip affiche [WinError 5] Accès refusé sous Windows, examinez d’abord le fichier concerné et le Python utilisé. Si la cible est un site-packages global protégé, créez un environnement virtuel dans un dossier de projet accessible en écriture et invoquez pip avec son Python. Un fichier utilisé ou un chemin temporaire bloqué nécessite un diagnostic distinct ; le mode administrateur n’est pas universel.

Lire le chemin avec le numéro d’erreur

Le code Windows 5 signifie un accès refusé. Lisez la dernière erreur de pip pour identifier le fichier impossible à créer ou remplacer. Un Python sous Program Files et un dossier temporaire n’exigent pas les mêmes vérifications.

Cible en échec À vérifier Action suivante
Lib\site-packages global Python choisi et droits d’écriture Isoler l’installation dans le projet
Exécutable Scripts ou paquet existant Programmes utilisant le fichier et traces de blocage Fermer seulement le programme concerné puis réessayer
Temp, cache ou autre dossier Droits, espace et politique de sécurité Examiner cet emplacement et demander une revue de politique si nécessaire
Installation réussie mais import impossible Même Python pour installer et exécuter ? Comparer interpréteur et Location du paquet

Ce tableau est un ordre de diagnostic, pas une preuve de cause fondée sur le seul chemin. Sur un PC administré, suivez l’environnement approuvé. N’ouvrez pas globalement les droits des dossiers système et ne désactivez pas les protections pour contourner l’erreur.

Identifier le Python qui exécute pip

Lancez ces commandes dans Windows PowerShell, pas dans l’invite Python >>>. Si py -3 manque, remplacez-le par le chemin du Python installé ou une commande python qui le désigne. Avec plusieurs versions, choisissez explicitement l’interpréteur voulu.

py -3 -c "import sys; print(sys.executable)"
py -3 -m pip --version

La première ligne montre l’exécutable ; la seconde, version et emplacement de pip et version Python. python -m pip utilise le Python choisi et évite qu’une commande pip isolée pointe ailleurs. Comparez avec l’interpréteur qui a produit l’erreur.

Installer dans le projet et vérifier

Ouvrez PowerShell dans un nouveau dossier accessible en écriture. .venv est un dossier d’environnement virtuel, distinct des sources. Ne le créez pas par-dessus un dossier déjà utilisé autrement.

py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip --version

Vérifiez que le chemin de pip appartient à .venv. Appeler directement son Python évite scripts d’activation et changement de politique PowerShell. Cet exemple complet installe puis importe Colorama 0.4.6 ; utilisez les dépendances requises par votre vrai projet.

.\.venv\Scripts\python.exe -m pip install "colorama==0.4.6"
.\.venv\Scripts\python.exe -c "import colorama, sys; print(colorama.__version__); print(sys.prefix != sys.base_prefix)"

Après succès, la dernière commande affiche 0.4.6 et True sur deux lignes. True indique l’environnement virtuel. Le déroulement a été vérifié sous Windows avec Python 3.12.14 et pip 25.0.1 dans l’environnement ; chemins et détails des journaux peuvent varier.

.\.venv\Scripts\python.exe -m pip show colorama

Dans pip show, Location doit être le .venv\Lib\site-packages du projet. Même si l’import réussit au terminal, l’IDE peut sélectionner un autre Python. Choisissez le même .venv\Scripts\python.exe dans le projet.

--user comme solution hors environnement virtuel

L’installation --user écrit dans le répertoire utilisateur de ce Python plutôt que globalement. Elle peut convenir à un usage personnel sans isolation par projet, mais ne sépare pas leurs versions de paquets. Identifiez d’abord le Python de base.

py -3 -m pip install --user "colorama==0.4.6"

Cette commande installe l’exemple dans son répertoire utilisateur. Ne l’ajoutez pas au parcours d’environnement virtuel : l’environnement isolé ordinaire refuse --user, car ce répertoire n’y est pas visible. Si les permissions échouent encore, recherchez le chemin réellement concerné.

Si l’échec persiste ou si pip manque

Lisez le dernier message avant d’attribuer tout échec aux permissions. No matching distribution found, certificats, proxy et réseau demandent des contrôles de compatibilité ou connexion. Alignez Python et prérequis des paquets avec le guide d’installation des paquets.

Si le nouvel environnement indique No module named pip, réparez son pip ainsi. ensurepip prépare le pip inclus avec Python et ne fournit pas nécessairement la dernière version disponible en ligne.

.\.venv\Scripts\python.exe -m ensurepip --upgrade
.\.venv\Scripts\python.exe -m pip --version

Si le Python de base manque d’ensurepip ou si la création échoue encore, examinez distribution et chemins. Fermez normalement un programme identifié comme utilisateur des fichiers avant de réessayer. Pour un blocage de protection, examinez l’événement et les autorisations prévues. N’utilisez une installation administrateur que dans un déploiement géré prévu à cet effet.

Annuler l’installation d’exemple

Pour supprimer uniquement Colorama de ce nouvel environnement d’exemple, utilisez la commande suivante. -y évite la confirmation : vérifiez d’abord environnement et paquet.

.\.venv\Scripts\python.exe -m pip uninstall -y colorama

pip uninstall retire un paquet de l’environnement choisi. Un nouvel environnement inutile peut être supprimé après vérification qu’il ne contient pas de sources et n’est pas utilisé ailleurs. Pour un projet existant, restaurez ses versions de dépendances consignées. Un rapport utile réunit commande, chemins Python et pip, dernière erreur et fichier cible.