O Sudo não está usando o mesmo PATHusuário atual por motivos de segurança. No /etc/sudoersexiste uma opção secure_pathque especifica a caminho usado durante a execução de comandos com sudo. O meu fica assim:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Na página de manual do 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.
O pip3comando provavelmente não está no caminho definido pelo sudoersarquivo. Você pode adicionar o caminho secure_pathou fornecer o caminho completo para o pip3comando da seguinte maneira:
sudo /path/to/pip3 install django