首页 > 解决方案 > Docker 中的 Python ARM - 安装要求需要很长时间

问题描述

我想运行一个里面有一些 Python 机器人的 Docker 容器。这些脚本需要 pandas、numpy 和 matplotlib 等库。在 x86 环境中一切正常,但在 Arm 环境中构建映像需要很长时间。据我了解,似乎需要为 Arm 编译库,而不仅仅是下载编译后的文件。我试图找到一种方法来避免这一切。

  1. Matplotlib、pandas、numpy:它们是相当重的包,但我只需要一些功能。这些库是精简版吗?
  2. 有什么方法可以将编译后的内容存储在管道某处的永久缓存中?(我同时使用 GitHub 和 GitLab 来构建它)

任何帮助表示赞赏问候

标签: pythondockerarmgitlab-cigithub-actions

解决方案


正如@Itamar Turner-Trauring 所提到的,matplotlib,numpypandas更多的库存储轮子aarch64以及x86. 就我而言,默认情况下pip是下载x86轮子,然后它必须在构建过程中编译它们,这需要很长时间。

pandas我使用的版本从1.1.5to更改后1.3.5,pip 日志发生了变化

从:

Downloading https://****/pypi/download/pandas/1.1.5/pandas-1.1.5.tar.gz (5.2 MB)

至:

Downloading https://****/pypi/download/pandas/1.3.5/pandas-1.3.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.9 MB)

整个构建时间从 58 分钟变为 8 分钟。


推荐阅读