我喜欢通过setuptools找出Python命名空间包背后的神话,下面是我所做的测试。在
virtualenv
创建一个虚拟环境。在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
创建一个虚拟环境。在python setup.py install
安装软件包。在站点包如下所示:
^{pr2}$问:为什么我不能通过手动的方式得到pip install
的确切结果?在
pip
在内部使用setup.py
。它只是向它传递额外的选项。要重现pip
正在做什么,请执行您还可以运行
pip -vv
来查看到底运行了哪些命令。在因为}是两个不同的软件。在
pip
和{pip
未公布为提供与setup.py
相同的行为,反之亦然。在如果您想要
pip
的行为,请使用pip
;如果您想要setup.py
的行为,请使用setup.py
。在相关问题 更多 >
编程相关推荐