「pip3 freeze」と「sudo pip3 freeze」は異なります

「pip3 freeze」と「sudo pip3 freeze」は異なります

私のシステム (Raspbian Buster、raspberry pi CM4) では、'pip3 install ' でインストールされたパッケージは、'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'

「pip3 freeze」と「sudo pip3 freeze」の出力にも違いがあります。

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

どちらも同じ実行可能ファイル ('/usr/bin/pip3' と '/usr/bin/python3') から実行されるのに、なぜこれら 2 人のユーザーの環境が異なるのでしょうか?

「sudo python3」を使用しても、ユーザー環境でパッケージをインストールする方法はありますか?

追伸: 私はvirtualenvについて知っていますが、できれば使いたくないです

答え1

出力を比較する

python3 -m site

そして

sudo python3 -m site

モジュールファイルへの絶対パスはコマンドで調べることができます

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

関連情報