Apache Superset连接Oracle:添加.whl文件后Docker提示wheel不支持
解决Apache Superset离线安装Oracle驱动的wheel不支持问题
先排查wheel文件的兼容性
- 进入Superset容器,执行
python --version查看Python版本,比如显示3.9.x,那你用的cx_Oracle wheel文件名必须包含cp39标识(比如cx_Oracle-8.3.0-cp39-cp39-manylinux_2_17_x86_64.whl),版本不匹配直接会触发“不支持”错误。 - 再执行
uname -m查看容器架构(x86_64或aarch64),wheel文件名里的架构部分必须和容器一致,arm架构的容器不能用x86的wheel包。
- 进入Superset容器,执行
修正requirements-local.txt的写法
- 不要直接写wheel文件名,得用相对或绝对路径。比如把wheel文件放到Superset项目的
docker目录下,就在requirements-local.txt里写./cx_Oracle-xxx.whl;如果是映射到容器内的路径,就写容器内的完整路径,比如/app/docker/cx_Oracle-xxx.whl。 - 先在requirements-local.txt开头加一行
wheel,确保容器先安装wheel工具,否则可能无法识别wheel包。
- 不要直接写wheel文件名,得用相对或绝对路径。比如把wheel文件放到Superset项目的
升级容器内的pip版本
- 旧版pip对部分wheel包支持不佳,要么进入容器执行
pip install --upgrade pip,要么在requirements-local.txt里添加pip>=21.0,强制升级pip。
- 旧版pip对部分wheel包支持不佳,要么进入容器执行
重新构建Docker镜像
- 只重启容器不会重新安装依赖,必须重新构建:在Superset项目根目录执行
docker-compose up -d --build superset,让Docker重新读取requirements-local.txt并安装依赖。
- 只重启容器不会重新安装依赖,必须重新构建:在Superset项目根目录执行
内容的提问来源于stack exchange,提问作者Thirumalai Muthu Palani
相关产品推荐
相关产品推荐

