Sudo no está usando el mismo PATH
como su usuario actual por razones de seguridad. En /etc/sudoers
hay una opción secure_path
que especifica la ruta utilizada cuando se ejecutan comandos con sudo.Mine se ve así:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Desde la página de manual de 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.
El pip3
probablemente el comando no esté en la ruta definida por sudoers
expediente. Puede agregar la ruta al secure_path
o proporcione la ruta completa al pip3
comando como este:
sudo /path/to/pip3 install django