'pip3 freeze' 和 'sudo pip3 freeze' 不同

'pip3 freeze' 和 'sudo pip3 freeze' 不同

在我的系统(Raspbian Buster、raspberry pi CM4)上,当我运行“sudo python3”时,使用“pip3 install”安装的软件包不可用:

$ 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”)运行,那么这两个用户的环境为何不同?

有没有办法使用“sudo python3”并仍然使用用户环境安装软件包?

附言:我知道虚拟环境,但如果可能的话我宁愿不使用它

答案1

比较输出

python3 -m site

sudo python3 -m site

您可以使用命令找到模块文件的绝对路径

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

相关内容