我喜欢通过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.interface作为真正的命名空间包(在文件夹zope下)安装的方式。
然后,我又做了一次测试,这就是我想请你帮忙的问题。我下载了去皮重的zope.interface源文件。我喜欢再次手动播放
- 通过.制作虚拟环境
virtualenv
。 - 将zope.interface 解压到某个地方。
- 通过 安装软件包
python setup.py install
。 - 去检查site-packages中发生了什么。
站点包如下所示:
~virenv/../site-packages/zope.interface-...egg/
/zope/
/__init__.py
/interface/
/EGG-INFO/
Q. 为什么我不能pip install
手动得到准确的结果python setup.py install
?