为什么当我在没有选项的情况下运行“twistd”命令时,我的twisted插件没有出现



这是我的twistd插件的当前状态,它位于project_root/twisted/plugins/my_plugin.py:中

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from zope.interface import implements
from twisted.plugin import IPlugin
from twisted.python.usage import Options
from twisted.application import internet, service
from mylib.io import MyFactory

class Options(Options):
    """Flags and options for the plugin."""
    optParameters = [
        ('sock', 's', '/tmp/io.sock', 'Path to IO socket'),
    ]

class MyServiceMaker(object):
    implements(service.IServiceMaker, IPlugin)
    tapname = "myplugin"
    description = "description for my plugin"
    options = Options
    def makeService(self, options):
        return internet.UNIXServer(options['sock'], MyFactory())
  • project_root/twisted/plugins/中没有__init__.py文件
  • 当从项目的根目录运行时,twistd的输出不会显示我的插件
  • 我通过python setup.py develop --user安装了我的库,它可以从任何地方导入

有什么想法吗?

正如所怀疑的那样,这是一件非常简单的事情:我需要实例化MyServiceMaker的实例,所以只需在脚本底部添加service_maker = MyServiceMaker()就可以解决这个问题。

相关内容

  • 没有找到相关文章