像pip.exe这样的可执行文件需要python才能工作吗?

像pip.exe这样的可执行文件需要python才能工作吗?,python,pip,python-packaging,pythoninterpreter,Python,Pip,Python Packaging,Pythoninterpreter,我对Python比较陌生,请原谅我的无知。我想知道以下问题的答案 pip如何知道它安装的软件包的安装位置?经过反复试验之后 我怀疑它可能是在安装时硬编码的 像pip.exe这样的可执行文件是他们所谓的冻结二进制文件吗?本质上,这是否意味着pip.exe将在没有python的情况下运行。经过一点尝试和错误之后,我再次怀疑它需要python安装才能执行 我知道sys.prefix,sys.executable和sys.exec_前缀。如果我问的问题还依赖于其他任何东西,请将我链接到相同的位置。PIP

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

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

  • 我知道sys.prefix,sys.executable和sys.exec_前缀。如果我问的问题还依赖于其他任何东西,请将我链接到相同的位置。

    PIP是Python软件包或模块的软件包管理器(如果您喜欢)

    pip与virtualenv一起使用时,通常会在路径/lib//站点包中安装包

    例如,我创建了一个名为test的测试virtualenv,django文件夹位于test/lib/python3.7/site-packages/django中


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

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

    由于它的绑定非常紧密,
    pip
    在某种程度上甚至包含在python标准库中(有关详细信息,请参阅)


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

    “pip.exe”只是从“PythonXX.dll”加载实际解释器的一个小存根(XX表示python版本号)然后用它运行标准库中的pip Python代码。找到这个Python.dll的路径必须在pip.exe中硬编码,对吗?因为当我用虚拟环境的pip.exe替换python附带的pip.exe时,我创建了一个虚拟环境,它显示了“在虚拟环境的路径上找不到python”这样的错误(在我用虚拟环境替换默认的pip之后,我删除了创建的虚拟环境)它是作为可执行进程独立运行还是仍然需要系统的python?是的,它确实需要python空闲。这只是一个经理,就像在水蟒中一样,我们有水蟒。欢迎。如果答案真的对你有帮助的话,你可以对它投赞成票。非常感谢你,伙计……这正是我想要的:)源代码可能是学习这类东西的最后手段=D好吧,python文档一般都很好,因此可以在那里学到很多东西。对于打包,我参考了python打包授权文档(简称pipa:),其他内容主要是通过使用python一段时间来学习的。还有stackoverflow,您可以访问它来学习内容,那里的用户维护一个@user83335我真的不知道,我很少在windows下开发,所以我不熟悉那里的具体情况。我接受了它,因为它似乎回答了你问题的一部分。公平……顺其自然……如果将来有人使用windows知道它,并看到它,我们希望他能指出我的误解