Ejecutar script de python como root en entorno virtual

ProgramaciónPython

En ocasiones, puede ser necesario ejecutar un script de Python con privilegios de root (por ejemplo, cuando usamos scapy) pero…si estamos en un entorno virtual, puede ocurrir que:

Instalemos scapy en el entorno virtual como usuario normal…cuando ejecutemos como root con un simple:
sudo python3 miscript.py

Nos dará error…ya que scapy lo instalamos en el entorno virtual con el usuario «normal», no como root.

Si intentamos instalar scapy como root, el sistema operativo (ocurre en los más modernos) nos pondrá pegas y nos pedirá que lo instalemos en un entorno virtual…pescadilla que se muerde la cola…

Así que, veamos cómo ejecutarlo cuando scapy está instalado a partir de un usuario normal y en un entorno virtual:
NOTA: úsalo así solo en entornos de pruebas o desarrollo; para producción, hazlo con setcap.

(env) pepito@tulinux:~/ruta/al/script$ sudo -E $(which python3) scapy01.py