2016-07-28 9 views
3

Python 용 kafka-python 패키지가 설치되었습니다. 카프카 제작자와 소비자가 있습니다. 파이썬 코드에서 카프카 (kafka) 주제를 읽고 메시지를 인쇄하고 싶습니다.Python 오류 : 이름을 가져올 수 없습니다. KafkaConsumer

내 파이썬 코드는 다음과 같습니다 :

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입니다. 당신이 그것을 실행하면 이제, 파이썬은 그 안에 다음과 같은 성명을 발견 :

from kafka import KafkaConsumer 

는 그래서 kafka라는 모듈을 찾아야합니다. 어떻게 보일 것인가? 글쎄 sys.path에있는 디렉토리를보고, 그 중 첫 번째는 입력 스크립트의 디렉토리로 초기화됩니다.

따라서, 찾아 들여다 시도 파일이 KafkaConsumer 따라서 오류를 정의하지 않습니다 kafka라는 당신의 모듈이다.

효과적으로 자신을 가져오고 있습니다. 도덕적

: 당신이를 사용하는 바라고 시스템 라이브러리 또는 외부 패키지와 동일한 이름으로 스크립트의 이름을 지정 중지합니다.

+0

도움이되었습니다. 그런 순진한 실수라고 믿을 수 없다 !! 자세한 설명을 주셔서 감사합니다. –

관련 문제