Python错误:无法导入名称KafkaConsumer

时间:2016-07-28 22:44:35

标签: python apache-kafka

我为Python安装了kafka-python包。我有一个kafka制作人和消费者正在运行。我希望python代码读取kafka主题并打印出消息。

我的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

有关我在这里失踪的建议吗?

1 个答案:

答案 0 :(得分:7)

您已将文件命名为kafka.py。现在当你运行它时,python在其中遇到以下语句:

from kafka import KafkaConsumer

所以它必须找到一个名为kafka的模块。怎么知道在哪里看?它看起来在sys.path的目录中,首先被初始化为输入脚本的目录

因此,它找到并尝试查看的文件是名为kafka您的模块,该模块未定义KafkaConsumer因此错误。

实际上,您正在自我导入。

道德停止使用与您希望使用的系统库或外部包相同的名称命名脚本