'Pip3 Freeze' y 'Sudo Pip3 Freeze' son diferentes

'Pip3 Freeze' y 'Sudo Pip3 Freeze' son diferentes

En mi sistema (Raspbian Buster, raspberry pi CM4), los paquetes instalados con 'pip3 install ' no están disponibles cuando ejecuto 'sudo python3':

$ pip3 freeze |grep numpy
numpy==1.21.5
$ sudo python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'

También hay una diferencia en la salida de 'pip3 Freeze' y 'Sudo Pip3 Freeze':

$ pip3 freeze |grep numpy
numpy==1.21.5
$ sudo pip3 freeze |grep numpy
<no output>

Ambos se ejecutan desde el mismo ejecutable ('/usr/bin/pip3' y '/usr/bin/python3'), entonces, ¿por qué los entornos de estos 2 usuarios son diferentes?

¿Hay alguna forma de utilizar 'sudo python3' y aún así instalar los paquetes en el entorno del usuario?

PD: conozco virtualenv, pero preferiría no usarlo si es posible

Respuesta1

comparar la producción de

python3 -m site

y

sudo python3 -m site

puedes encontrar una ruta absoluta a los archivos del módulo con un comando

python -c "import numpy as _; print(_.__path__)"

información relacionada