You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Alpine Python镜像安装Numba失败的解决方法咨询

在Alpine Python镜像中安装Numba==0.56.4并保持镜像精简的解决方案

问题根源

Alpine Linux镜像默认未预装GCC、G++等编译工具链,而Numba 0.56.4依赖的llvmlite==0.39.1和numpy==1.24.2部分组件需要编译构建,缺失工具链会导致Numpy构建失败,进而触发Numba的元数据生成错误。

分步解决方案

1. 临时安装编译依赖(用于构建Python包)

使用Alpine的apk包管理器安装编译所需工具,通过--virtual参数将这些依赖标记为临时组,方便后续一次性清理:

apk add --no-cache --virtual .build-deps gcc g++ musl-dev llvm14-dev make
  • gcc/g++/musl-dev:提供C/C++编译环境
  • llvm14-dev:llvmlite依赖的LLVM开发库(Numba 0.56.4对应llvmlite 0.39.1,需匹配LLVM 14版本)
  • make:辅助编译流程

2. 安装Python依赖

使用pip安装你的依赖列表,加上--no-cache-dir避免缓存占用镜像空间:

pip install --no-cache-dir -r requirements.txt

你的依赖列表如下:

fastapi==0.95.0
openai==0.27.0
sse-starlette==1.3.3
SQLAlchemy~=1.4.6
pydantic~=1.10.5
rembg==2.0.32
Pillow==9.5.0
aiohttp==3.8.4
aiosignal==1.3.1
anyio==3.6.2
async-timeout==4.0.2
asyncer==0.0.2
attrs==22.2.0
certifi==2022.12.7
charset-normalizer==3.1.0
click==8.1.3
coloredlogs==15.0.1
filetype==1.2.0
flatbuffers==23.3.3
frozenlist==1.3.3
h11==0.14.0
httptools==0.5.0
humanfriendly==10.0
idna==3.4
ImageHash==4.3.1
imageio==2.27.0
lazy_loader==0.2
llvmlite==0.39.1
mpmath==1.3.0
multidict==6.0.4
networkx==3.1
numba==0.56.4
numpy==1.24.2
onnxruntime==1.14.1
opencv-python-headless==4.7.0.72
packaging==23.0
platformdirs==3.2.0
pooch==1.7.0
protobuf==4.22.1
pydantic==1.10.7
PyMatting==1.1.8
python-dotenv==1.0.0
python-multipart==0.0.6
PyWavelets==1.4.1
PyYAML==6.0
requests==2.28.2
scikit-image==0.20.0
scipy==1.10.1
sniffio==1.3.0
starlette==0.26.1
sympy==1.11.1
tifffile==2023.3.21
tqdm==4.65.0
typing_extensions==4.5.0
urllib3==1.26.15
uvicorn==0.21.1
uvloop==0.17.0
watchdog==3.0.0
watchfiles==0.19.0
websockets==11.0
yarl==1.8.2
psycopg2-binary==2.9.6

3. 清理临时依赖(保持镜像精简)

删除之前标记的临时编译依赖组,彻底移除编译工具:

apk del .build-deps

GitHub Actions 示例配置

如果是在GitHub Actions中执行,可将上述步骤整合进Workflow文件:

jobs:
  build:
    runs-on: ubuntu-latest
    container: python:3.10-alpine  # 选择对应版本的Alpine Python镜像
    steps:
      - uses: actions/checkout@v4
      - name: Install build dependencies
        run: apk add --no-cache --virtual .build-deps gcc g++ musl-dev llvm14-dev make
      - name: Install Python dependencies
        run: pip install --no-cache-dir -r requirements.txt
      - name: Clean up build dependencies
        run: apk del .build-deps
      # 后续测试/部署步骤

额外注意事项

  • LLVM版本匹配:llvmlite 0.39.1必须对应LLVM 14版本,若安装其他版本的llvm-dev会导致llvmlite构建失败。
  • psycopg2-binary:若遇到psycopg2安装错误,可临时添加libpq-dev到.build-deps中,安装完成后随临时依赖一并删除。
  • 缓存优化:在GitHub Actions中可使用actions/cache缓存pip依赖,但需注意Alpine环境的缓存兼容性,避免跨系统缓存导致问题。

内容的提问来源于stack exchange,提问作者spark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:07:01