2016-05-12 13 views
4

私はTwisted 16.1.1とPython 3.4を使用しています。バージョン16.1.1のtwistedの文書で、 `from twisted.spread import pb 'と書かれたthere is a tutorial。しかし、それをインポートしようとすると、例外が発生します。私は間違って何をしていますか?名前 'pb'をインポートできません

Traceback (most recent call last): 
File "main.py", line 10, in <module> 
from twisted.spread import pb 
ImportError: cannot import name 'pb' 

私はthis tutorialです。これは私のコードです:/usr/lib64/python3.4/site-packages/twisted/spread

from twisted.internet import reactor 
from twisted.spread import pb 

class Echoer(pb.Root): 
    def remote_echo(self, st): 
     print('echoing:', st) 
     return st 

if __name__ == '__main__': 
    reactor.listenTCP(8789, pb.PBServerFactory(Echoer())) 
    reactor.run() 

uiという名前のフォルダにあります。 pbというフォルダ/ファイルはありません。

私はPBをインポートしようとすると、今、私は例外を取得し、私のpythonフォルダへpb.pyファイルをコピー:

Traceback (most recent call last): 
File "main.py", line 2, in <module> 
from twisted.spread import pb 
File "/usr/lib64/python3.4/site-packages/Twisted-16.1.1-py3.4.egg/twisted/spread/pb.py", line 890 
except Error, e: 
      ^
SyntaxError: invalid syntax 

何が起こっていますか?

+0

'setup.py'ファイルを実行してPythonにツイストを正しく追加しましたか? – Serdalis

+0

私はpipからインストールしました... – Caaarlos

+1

私は 'twisted.internet import reactor'から' pb no。 'をインポートできます。 – Caaarlos

答えて

1

にSyntaxError理由は、Python 3でのPython 2でのみ有効でexcept Error, e:が、それはexcept Error as e:を書かれるだろうということです。

問題はあなたのコードではありません。基礎となるモジュールはまだPython 3に更新されていません。

関連する問題