Судо не использует то же самое, PATH
что и ваш текущий пользователь из соображений безопасности. В /etc/sudoers
есть опция , secure_path
которая указывает путь , используемый при выполнении команды с Sudo. Моя выглядит так:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Из справочной страницы 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.
Команда, pip3
вероятно, не находится в пути, определенном sudoers
файлом. Вы можете добавить путь к команде secure_path
или указать полный путь к pip3
команде следующим образом:
sudo /path/to/pip3 install django
sudo echo $PATH
продукты что - нибудь другое? Вы пробовали команду с полным путем к pip3? Есть ли разница в результатах?Вы всегда можете сделать:
Как уже упоминалось в этом ответе .
источник
Я выпустил django так:
Это решило проблему.
источник