无法从 confluent_kafka 导入 Producer

Cannot import Producer from confluent_kafka

我正在使用带有 python 3.9 和 confluent_kafka 库的 conda 环境(通过 pip install confluent-kafka 安装)。我还安装了 librdkafka。来自 pycharm 我无法导入:

from confluent_kafka import Producer

我收到这个错误:

Traceback (most recent call last):
  File "D:/Python/Projects/Kafka/main.py", line 1, in <module>
    from confluent_kafka import Producer
  File "C:\Users\kmode\anaconda3\envs\dataScience\lib\site-packages\confluent_kafka\__init__.py", line 40, in <module>
    from .deserializing_consumer import DeserializingConsumer
  File "C:\Users\kmode\anaconda3\envs\dataScience\lib\site-packages\confluent_kafka\deserializing_consumer.py", line 19, in <module>
    from confluent_kafka.cimpl import Consumer as _ConsumerImpl
ImportError: DLL load failed while importing cimpl: 

你能帮忙解决这个问题吗?

已有答案


我看到了一个和你类似的答案(完全不是重复的,但它解决了你的问题)。


他们建议卸载然后重新安装 python,如果我理解得很好,它就成功了。


其他人安装了 Anaconda,它也能正常工作。

重新安装 anaconda 并删除 python 3.9 后,我使用 python 3.7 修复了问题。在蟒蛇环境中。如前所述 原因是要有 3.8 及更高版本,但我不知道如何在 python 3.8 及更高版本上准确解决它。

If anyone comes across this issue in Python > 3.8 with Windows, dll's are only loaded from trusted locations https://docs.python.org/3/whatsnew/3.8.html#ctypes This can be fixed by adding the dll path using os.add_dll_directory("PATH_TO_DLL")

对于使用 Python>=3.8 的 Anaconda 的用户,请设置您的环境变量。

set CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1