0

我正在尝试使用twisted,但是当我尝试运行twisted包提供的一些示例代码时,当我使用“twistd”而不是“python”时,它似乎总是崩溃

例如,使用给定的示例代码,如果我运行命令:twisted -ny echoserv.py

未处理的错误
回溯(最近一次通话最后):
  运行中的文件“/usr/lib/python2.7/site-packages/twisted/application/app.py”,第 652 行
    运行应用程序(配置)
  文件“/usr/lib/python2.7/site-packages/twisted/scripts/twistd.py”,第 23 行,在 runApp
    _SomeApplicationRunner(config).run()
  运行中的文件“/usr/lib/python2.7/site-packages/twisted/application/app.py”,第 386 行
    self.application = self.createOrGetApplication()
  文件“/usr/lib/python2.7/site-packages/twisted/application/app.py”,第 451 行,在 createOrGetApplication
    application = getApplication(self.config, passphrase)
--- ---
  文件“/usr/lib/python2.7/site-packages/twisted/application/app.py”,第 462 行,在 getApplication
    应用程序 = service.loadApplication(文件名、样式、密码)
  文件“/usr/lib/python2.7/site-packages/twisted/application/service.py”,第 405 行,在 loadApplication
    application = sob.loadValueFromFile(filename, 'application', passphrase)
  文件“/usr/lib/python2.7/site-packages/twisted/persisted/sob.py”,第 211 行,在 loadValueFromFile
    值 = d[变量]
exceptions.KeyError:“应用程序”

无法加载应用程序:“应用程序”
在文件中找不到“应用程序”。要使用 'twistd -y',你的 .tac
文件必须创建一个合适的对象(例如,通过调用 service.Application())
并将其存储在名为“应用程序”的变量中。twistd 加载您的 .tac 文件
并扫描全局变量以查找此名称之一。

有关详细信息,请阅读“使用应用程序”HOWTO。


我使用的是 Twisted 版本 11.0.0 但后来我尝试了 12.0.0 但我遇到了同样的问题。

我使用的python版本是2.7.2

关于做什么的任何想法都会有所帮助。几天来,我一直在尝试处理这个问题。谢谢!

4

2 回答 2

1

twistd -y旨在与包含名为 的变量的 python 文件一起使用,该文件中application没有,所以它不起作用。

您可能想花一些时间阅读twistd文档,以便更清楚地了解它在twisted生态系统中的作用。

于 2012-03-10T20:30:11.623 回答
0

要使用'twistd -y',您的.tac 文件必须创建一个合适的对象(例如,通过调用service.Application())并将其存储在一个名为'application' 的变量中。twistd 加载您的 .tac 文件并扫描全局变量以查找此名称之一。

有关详细信息,请阅读“使用应用程序”HOWTO。

于 2012-03-10T22:41:08.270 回答