1

我对 Python 比较陌生,所以请原谅我的无知。我想知道以下问题的答案

  1. pip 如何知道它安装的软件包的安装位置?经过反复试验,我怀疑它可能在安装时进行了硬编码。
  2. 像 pip.exe 这样的可执行文件是他们所谓的冻结二进制文件吗?本质上,这是否意味着 pip.exe 将在没有 python 的情况下运行。再次经过反复试验后,我怀疑它需要安装 python 才能执行。

PS:我知道 sys.prefix、sys.executable 和 sys.exec_prefix。如果我问的问题取决于其他任何东西,请将我链接到相同的内容。

4

2 回答 2

1

PIP 是 Python 包或模块的包管理器,如果你喜欢的话。

pip 与 virtualenv 一起使用时,通常会将包安装在路径 /lib//site-packages 中。

比如我创建了一个名为test的测试virtualenv,django文件夹在test/lib/python3.7/site-packages/django。

在安装的时候,你必须已经设置了环境变量,这就是 pip 识别目录的方式。

于 2020-04-15T10:48:26.810 回答
1

pip.exe放置在 path\Scripts 下需要 python 安装,没有它就无法运行。它是针对特定的 python 解释器硬连线的,不能为另一个解释器安装包。如果您的系统上安装了 7 个不同的 python 版本,那么您还将拥有 7 个不同版本的pip.

由于它绑定得如此紧密,pip因此有时甚至包含在 python 标准库中(有关详细信息,请参阅pep-0453)。

这也回答了您问题的另一部分,即如何pip确定正确的位置 - 它只能安装到一个位置,即捆绑它的 python 解释器的侧包。

于 2020-04-15T11:50:20.803 回答