Sudo n'utilise pas la même chose PATH
que votre utilisateur actuel pour des raisons de sécurité. Il /etc/sudoers
y a une option secure_path
qui spécifie le chemin utilisé lors de l'exécution des commandes avec sudo. Le mien ressemble à ceci:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Depuis la page de manuel sudo:
secure_path Path used for every command run from sudo. If you don't trust the people running sudo to have a sane PATH environment
variable you may want to use this. Another use is if you want to have the “root path” be separate from the “user path”.
Users in the group specified by the exempt_group option are not affected by secure_path. This option is not set by
default.
La pip3
commande n'est probablement pas dans le chemin défini par le sudoers
fichier. Vous pouvez soit ajouter le chemin d'accès à la, secure_path
soit fournir le chemin d'accès complet à la pip3
commande comme ceci:
sudo /path/to/pip3 install django
sudo echo $PATH
rien produit de différent? Avez-vous essayé la commande avec le chemin d'accès complet à pip3? Des différences de résultats?Vous pouvez toujours faire:
Comme il l'a mentionné dans cette réponse .
la source
J'ai lancé l'installation de django de cette façon:
Cela a résolu le problème.
la source