我为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
有关我在这里失踪的建议吗?
答案 0 :(得分:7)
您已将文件命名为kafka.py
。现在当你运行它时,python在其中遇到以下语句:
from kafka import KafkaConsumer
所以它必须找到一个名为kafka
的模块。怎么知道在哪里看?它看起来在sys.path
的目录中,首先被初始化为输入脚本的目录。
因此,它找到并尝试查看的文件是名为kafka
的您的模块,该模块未定义KafkaConsumer
因此错误。
实际上,您正在自我导入。
道德:停止使用与您希望使用的系统库或外部包相同的名称命名脚本。