我构建了一个定义setuptools
入口点的python应用程序(“主机”应用程序),以便可以扩展它。插件作者然后必须将以下内容添加到他们的setup.py
文件中:
setup(
# ...
entry_points = {
'myapp.plugins':
['plugin_1 = <foo.plugin.module>:<plugin-install-func>']
}
)
为了测试我的设置,我必须
pip
进行安装,sys.path
并调用pkg_resources.working_set.add_entry(package_dir)
[*],pip
卸载软件包,sys.path
,如果必须验证不同的功能,则每个测试用例都需要一个单独的包 整个测试装置相当冗长和笨拙。
是否有更优雅的方法为setuptools
入口点插件编写测试用例?
[*]注意:使用pip install -e <plugin-package>
在开发模式中安装 wheel 或使用pip *不会在同一个解释器上激活插件 Linux ;或者至少在没有追加sys.path
中的包文件夹之后。
在 Windows 上,上述问题仅存在于开发模式。
答案 0 :(得分:1)
我遇到了同样的问题,并通过一个肮脏的黑客来解决,以构建和“pip install”插件包进行测试,进入 tox 的环境并在该环境中运行测试。