为什么我不能通过手动*python得到*pip install*的确切结果设置.py安装*?

2024-04-23 06:44:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我喜欢通过setuptools找出Python命名空间包背后的神话,下面是我所做的测试。在

  • 通过virtualenv创建一个虚拟环境。在
  • PyPI上查找名称空间的包。在
  • 通过pip install安装该包。在
  • 检查已安装的文件层次结构。在

我使用的包是zope.interface,它与我的virtualenv上的以下文件层次结构配合得很好:

~virenv/.../site-packages/zope.interface-3.8.0-py2.6-nspkg.pth
                         /zope.interface-3.8.0-py2.6.egg-info/
                         /zope/
                              /interface/
                                        /...

一切看起来都很好,我喜欢这种方式zope.接口作为一个真正的名称空间包安装(在文件夹zope下)。在

然后,我又做了一个测试,这就是我想请你帮忙的问题。我下载了皮重zope.接口源文件。我喜欢再次手动播放

  • 通过virtualenv创建一个虚拟环境。在
  • 解开zope.接口去某个地方。在
  • 通过python setup.py install安装软件包。在
  • 去查看站点包中发生了什么。在

站点包如下所示:

^{pr2}$

问:为什么我不能通过手动的方式得到pip install的确切结果?在


Tags: installpip文件名称zopevirtualenv层次结构站点
2条回答

pip在内部使用setup.py。它只是向它传递额外的选项。要重现pip正在做什么,请执行

python setup.py install  single-version-externally-managed

您还可以运行pip -vv来查看到底运行了哪些命令。在

Q. How come I can't get the exactly result to pip install by manually python setup.py install?

因为pip和{}是两个不同的软件。在

pip未公布为提供与setup.py相同的行为,反之亦然。在

如果您想要pip的行为,请使用pip;如果您想要setup.py的行为,请使用setup.py。在

相关问题 更多 >