【问题标题】:How do I load entry-points for a defined set of eggs with Python setuptools?如何使用 Python setuptools 为一组定义的鸡蛋加载入口点?
【发布时间】:2009-04-20 19:27:37
【问题描述】:
我想使用 setuptools 中的入口点功能。
在很多情况下,我想严格控制正在运行的鸡蛋列表,以及有助于一组入口点的扩展:
- egg 集成测试,我想在不同的 egg 组合上运行多个测试套件。
- 扫描单个鸡蛋/插件目录,以便运行同一程序的两个不同实例,但使用不同的鸡蛋。
- 开发时间,我正在开发一个或多个鸡蛋,并希望将程序作为正常编辑运行周期的一部分运行。
我查看了 setuptools 文档,虽然它没有说这是不可能的,但我一定错过了一些关于如何做到这一点的内容。
以不同于默认系统范围发现的方式部署插件的最佳方法是什么?
【问题讨论】:
标签:
python
setuptools
distutils
egg
【解决方案1】:
我们正在解决类似的问题,如果您只是无法访问全局站点包的用户,则可以使用 setup.py develop。到目前为止,我们用 virtualenv 解决了它。
我想说这对你的情况也有帮助:在系统范围内安装最少(或明确排除它),用你想要的鸡蛋创建虚拟环境并在那里测试。
(或者,对于集成测试,创建干净的环境,安装 egg 并测试所有依赖项是否已安装)。
对于 2,我不确定,但它应该也可以使用多个 virtualenvs。对于 3,setup.py develop 是要走的路。