setuptools:从同一组中的多个包添加入口点

setuptools: add entry points from several packages in the same group

我想使用 setuptools 在同一个入口点组中添加几个插件。

包 1:

setup(                                                                                       
    py_modules=['api', 'internal'],                       
    entry_points={'parsers': ['dummy1 = api:DummyAPI1', ]}
 )                                                        

包 2:

setup(                                                                                    
        py_modules=['api', 'internal'],                     
        entry_points={'parsers': ['dummy2 = api:DummyAPI2', ]}
     )                                                      

安装两个插件后,我只有最后安装的入口点。这是预期的行为吗?我可以在同一组中从不同的包中添加多个插件吗?

我找到了。我是个懒惰的家伙——我没有在两个包中的 setup 函数调用中添加 name 参数。默认情况下,名称是未知的。很明显,这两个包具有相同的名称,因此对于系统来说,它们是相同的包,因此 setuptools 覆盖了组。

始终对 setup 方法使用 name 参数。