Python 3.10 无法打开共享对象文件 librdkafka

问题描述 投票:0回答:1

我正在尝试升级一个相对简单的 Python 应用程序,该应用程序读取 Kafka 主题、处理然后调用 API。

目前它运行在 Ubuntu 20.04 LTS 上基于 Python 3.8 的 docker 容器中。我希望在 Ubuntu 22.04 LTS 上升级到 Python 3.10。

docker 容器构建没有问题,但运行应用程序或测试时出现问题。

ImportError while importing test module '/code/fr24/tests/test_feed.py'.

Hint: make sure your test modules/packages have valid Python names.

Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
...
...
from confluent_kafka.cimpl import Consumer as _ConsumerImpl
E   ImportError: librdkafka.so.1: cannot open shared object file: No such file or directory

我添加了

RUN apt-get install -y librdkafka-dev

Ubuntu 22.04 Dockerfile。然后我得到了一个不同的错误

ImportError: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory

这让我认为这可能是路径问题。

docker-compose run fr24 python -c "import sys; print('\n'.join(sys.path))"

退货

/usr/local/lib/python3.10/dist-packages/_pdbpp_path_hack
/code/fr24
/code
/usr/lib/python310.zip
/usr/lib/python3.10
/usr/lib/python3.10/lib-dynload
/usr/local/lib/python3.10/dist-packages
/usr/lib/python3/dist-packages

docker-compose run fr24 env
回报等等

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONPATH=/code/fr24:

我在这里错过了一些简单的东西吗?

python python-3.x ubuntu
1个回答
0
投票

我回答这个问题是因为我没有评论的权限。

您是否尝试安装其他依赖项?我在 ubuntu docker 镜像和本地安装的 ubuntu 中安装并导入了 confluence_kakfa,没有任何问题。

© www.soinside.com 2019 - 2024. All rights reserved.