根据定义的某个entry_point,有没有办法在安装python包后执行某些任务?

时间:2012-10-13 06:50:40

标签: python distutils

我想知道是否有一种方法可以注册一些特殊的entry_point,并在安装软件包时执行一些任务并定义了entry_point,就像console_scripts一样,我想这是执行任务的那个,但是那里是一种根据某些entry_point注册更多任务的方法吗?

最后,我想执行类似安装后任务的内容,但未在包中定义,而是在另一个中定义。

我现在这样做的方法是每隔x秒监视一次pkg_resources.iter_entry_points,并重新加载包pkg_resources以获取新的entry_points,并在有人定义一个新的时执行操作,我这样做是在守护进程,但似乎应该有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

是的,您可以创建类似于控制台脚本的自己的入口点。您可以将入口点定义为您想要的任何内容,并可以使用pkg_resources.iter_entry_points方法对该定义进行操作,该定义将以与console_scripts相同的方式调用。 以下是此主题的two good资源。