2016-07-28 1 views
3

Python用のkafka-pythonパッケージをインストールしました。私はカフカのプロデューサーと消費者が走っています。私は、pythonコードでカフカのトピックを読んでメッセージを出力したい。Pythonエラー:名前をインポートできませんKafkaConsumer

私のPythonコードは以下の通りです:

import sys 
from kafka import KafkaConsumer 

def kafkatest(): 
    print "Step 1 complete" 
    consumer=KafkaConsumer('test',bootstrap_servers=['localhost:9092']) 
    for message in consumer: 
     print "Next message" 
     print message 


if __name__=="__main__": 
    kafkatest() 

私は次のエラーを取得:

C:\Python27>python.exe kafka.py Traceback (most recent call last): File "kafka.py", line 2, in <module> 
    from kafka import KafkaConsumer File "C:\Python27\kafka.py", line 2, in <module> 
    from kafka import KafkaConsumer ImportError: cannot import name KafkaConsumer 

任意の提案私がここで行方不明です何にしますか?

答えて

5

ファイル名はkafka.pyです。あなたがそれを実行すると、Pythonはその中に、次の文を検出:

from kafka import KafkaConsumer 

だから、kafkaと呼ばれるモジュールを見つける必要があります。見える場所はどのように分かっていますか?まず、sys.pathというディレクトリにあるのうち、最初に入力スクリプトのディレクトリに初期化されています。

したがって、それは見つけて中を見しようとしたファイルは、KafkaConsumerので、エラーを定義していないkafkaと呼ばれるあなたのモジュール、です。

効果的に、あなた自身をインポートしています。道徳

:あなたはを使用することを期待しているシステム・ライブラリや外部のパッケージと同じ名前のスクリプトを命名停止。

+0

お手伝い!そんな素朴な間違いだったとは信じられない!詳細な説明に感謝します。 –

関連する問題