Sudoers especifica um secure_path
:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Isto irá sobrescrever o seu PATH local, assim seu virtualenv não é usado. Você tem algumas opções:
- Chame seu binário python explicitamente:
sudo /opt/anaconda/bin/python file.py
- Comente a linha
secure_path
em/etc/sudoers
(mas provavelmente está lá por um motivo) -
Especifique
keep_env
para este comando específico (embora isso provavelmente tenha problemas semelhantes aos anteriores).
Não adicione seu caminho do Python ao secure_path
, pois isso provavelmente estragará mais do que algumas chamadas sudo
padrão.