我正在尝试使用twisted但是当我尝试运行一些扭曲包提供的示例代码时,它似乎总是崩溃当我使用“twistd”而不是“python”
例如,使用twisted赋予的示例代码, 如果我跑到命令:twisted -ny echoserv.py
Unhandled Error Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/twisted/application/app.py", line 652, in run runApp(config) File "/usr/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 23, in runApp _SomeApplicationRunner(config).run() File "/usr/lib/python2.7/site-packages/twisted/application/app.py", line 386, in run self.application = self.createOrGetApplication() File "/usr/lib/python2.7/site-packages/twisted/application/app.py", line 451, in createOrGetApplication application = getApplication(self.config, passphrase) --- --- File "/usr/lib/python2.7/site-packages/twisted/application/app.py", line 462, in getApplication application = service.loadApplication(filename, style, passphrase) File "/usr/lib/python2.7/site-packages/twisted/application/service.py", line 405, in loadApplication application = sob.loadValueFromFile(filename, 'application', passphrase) File "/usr/lib/python2.7/site-packages/twisted/persisted/sob.py", line 211, in loadValueFromFile value = d[variable] exceptions.KeyError: 'application' Failed to load application: 'application' Could not find 'application' in the file. To use 'twistd -y', your .tac file must create a suitable object (e.g., by calling service.Application()) and store it in a variable named 'application'. twistd loads your .tac file and scans the global variables for one of this name. Please read the 'Using Application' HOWTO for details.
我使用的是Twisted版本11.0.0,但之后我尝试了12.0.0,但我遇到了同样的问题。
我正在使用的python版本是2.7.2
任何关于做什么的想法都会有所帮助。我一直试图解决这个问题几天了。谢谢!
答案 0 :(得分:1)
twistd -y
旨在与包含名为application
的变量的python文件一起使用,此文件中没有,因此它不起作用。
您可能希望花一些时间阅读twistd
的{{3}},以便更清楚地了解其在twisted
生态系统中的作用。
答案 1 :(得分:0)
要使用'twistd -y',您的.tac文件必须创建一个合适的对象(例如,通过调用service.Application())并将其存储在名为'application'的变量中。 twistd加载.tac文件并扫描全局变量以获取此名称之一。
请阅读“使用应用程序”HOWTO了解详情。