Синтаксическая ошибка при «self.async» при запуске python kafka producer

#python #apache-kafka #syntax-error

Вопрос:

 $ docker run 34a24a8a745e
Traceback (most recent call last):
  File "//producer.py", line 1, in <module>
    from kafka.producer import KafkaProducer
  File "/usr/local/lib/python3.9/site-packages/kafka/__init__.py", line 23, in <module>
    from kafka.producer import KafkaProducer
  File "/usr/local/lib/python3.9/site-packages/kafka/producer/__init__.py", line 4, in <module>
    from .simple import SimpleProducer
  File "/usr/local/lib/python3.9/site-packages/kafka/producer/simple.py", line 54
    return '<SimpleProducer batch=%s>' % self.async
                                              ^
SyntaxError: invalid syntax

 

Я видел более раннюю идентичную ошибку, но я использовал from kafka import KafkaProducer

Мой новый скрипт на python использует from kafka.producer import KafkaProducer , но я все равно получаю ошибку self.async

Комментарии:

1. Можете ли вы поделиться фрагментом кода

2. Извините, с тех пор я решил, что использовал библиотеку kafka-python вместо просто kafka и обновил свой файл docker, чтобы использовать последнюю версию python, которая решила проблему

3. асинхронность -это зарезервированное слово. docs.python.org/3/reference/.

Ответ №1:

Вам нужно установить kafka-python , а не kafka упаковать

https://github.com/dpkp/kafka-python/issues/1566