2012-03-10 5 views
0

使用して、例えばスタックダンプがひねりapp.py 'application'エラーになる

を私はツイスト使用しようとしていますが、私はねじれたパッケージに付属しているサンプルコードの一部を実行しようとすると、私が代わりに「パイソン」の「twistd」を使用する場合、必ずクラッシュするようです私は、コマンドを実行した場合 、ツイストを与えられたコード例:ツイスト-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. 


私はツイストバージョン11.0.0を使用していたが、その後、私は12.0.0を試してみましたが、私は同じ問題を抱えています。

私が使っているのpythonのバージョンは何をすべきかについて2.7.2

任意のアイデアが参考になるです。私は数日の間、この問題に対処しようとしてきました。ありがとう!

答えて

1

twistd -yは、applicationという変数を含むpythonファイルで使用することを意図しています。このファイルには何もありませんので、動作しません。

twistddocumentationと読むのに少し時間を費やして、twistedエコシステムでの役割を明確にすることができます。

0

'twistd -y'を使用するには、.tacファイルは適切なオブジェクト(service.Application()など)を作成し、 'application'という名前の変数に格納する必要があります。 twistdは.tacファイルをロードし、この名前のグローバル変数をスキャンします。

詳細については、 'Using Application' HOWTOをお読みください。

関連する問題