2011-12-09 15 views
4

私のUbuntu 11.04ボックスで動作するようにPythonをツイストさせようとしています。任意の助けがあるPython noob: "ImportError:No module named internet"

Traceback (most recent call last): 
    File "eamorr.py", line 1, in <module> 
    from twisted.internet import protocol, reactor 
    File "/home/eamorr/Desktop/twisted.py", line 1, in <module> 
ImportError: No module named internet 

from twisted.internet import protocol, reactor 

class Echo(protocol.Protocol): 
    def dataReceived(self, data): 
     self.transport.write(data) 

class EchoFactory(protocol.Factory): 
    def buildProtocol(self, addr): 
     return Echo() 

reactor.listenTCP(1234, EchoFactory()) 
reactor.run() 

私はの底に取得することはできません。このエラーが出る:

は、私は、次のコードをしようとすると、しかし

sudo apt-get install python-twistedをしました最も感謝します。

+0

ん[この回答ヘルプあなたは?] [1]あなたは(あなたのアプリケーションに)ツイストという名前のモジュールを持っていますか? [1]:http://superuser.com/questions/161960/installed-python-module-is-not-found –

+0

これが私のシステム上で動作するようです。それが動作する場合、インポートをひねりますか? –

答えて

20

問題はファイルの名前です。 Pythonは現在のディレクトリでモジュールを探します。 twisted.internetをインポートしようとすると、twisted.pyと呼ばれるフォルダ内のファイルが検索されます。しかし、internetサブモジュールが見つかりません。ファイルの名前を変更すると、Pythonは正しいtwistedをロードし、すべてがfindeになります。

+0

こんにちは、ファイルは "eamorr.py"と呼ばれています - 私はまだ同じエラーが発生しています... – Eamorr

+10

おそらくまだ 'twisted.pyc'ファイルがあります。それも削除してください。 –

+0

さて、私はそれを働かせました。もともと私はtwisted.pyというファイルを持っていました。私はファイルの名前を変更しましたが、私も 'twisted.pyc'を削除しなければなりませんでした...助けてくれてありがとうございます。 – Eamorr

0

相対インポートではなく絶対インポートを行うようにPythonの動作を変更することができます。 pyファイルの先頭に以下を追加します。

from __future__ import absolute_import

関連する問題