在 python alpine docker 中安装 python numpy 模块

2023-12-20

我正在尝试 dockerize 我的 python 应用程序。构建 Dockerfile 和安装依赖项时显示错误scikit-learn ie. numpy.

Dockerfile

FROM python:alpine3.8

RUN apk update
RUN apk --no-cache add linux-headers gcc g++

COPY . /app
WORKDIR /app
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5001

ENTRYPOINT [ "python" ]
CMD [ "main.py" ]

要求.txt

scikit-learn==0.23.2
pandas==1.1.3
Flask==1.1.2

错误:找不到满足安装工具要求的版本(来自版本:无) 错误:找不到安装工具的匹配发行版

完全错误 https://pastebin.com/71W8j6pH


同意 @senderle 评论,Alpine 不是这里的最佳选择,特别是如果您计划使用依赖于 numpy 的科学 Python 包。如果您绝对需要使用 Alpine,您应该查看其他问题,例如在 Docker Alpine 上安装 numpy https://stackoverflow.com/questions/33421965/installing-numpy-on-docker-alpine.

这是一个建议,我也更换了ENTRYPOINT by CMD为了能够覆盖以方便调试(例如运行 shell)。如果ENTRYPOINT is python将无法覆盖它,并且您将无法运行除python命令。

FROM python:3.8-slim

COPY . /app
WORKDIR /app
RUN pip install --quiet --no-cache-dir -r requirements.txt
EXPOSE 5001

CMD ["python", "main.py"]

构建、运行、调试。

# build
$ docker build --rm -t my-app .

# run
docker run -it --rm my-app

# This is a test

# debug
$ docker run -it --rm my-app pip list

# Package         Version
# --------------- -------
# click           7.1.2
# Flask           1.1.2
# itsdangerous    1.1.0
# Jinja2          2.11.2
# joblib          0.17.0
# MarkupSafe      1.1.1
# numpy           1.19.2
# pandas          1.1.3
# ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python alpine docker 中安装 python numpy 模块 的相关文章

随机推荐

  • 将 JSON 对象和对象列表传递给 ASP.Net 控制器 [重复]

    这个问题在这里已经有答案了 我需要以下方面的帮助 我有这两个模型以及我将在下面使用它们的方法 public class RoleModel public string Name get set public string Descripti
  • 如何在 Java 中同步或锁定变量?

    让我使用这个小而简单的示例 class Sample private String msg null public void newmsg String x msg x public String getmsg String temp ms
  • 网站托管在 IIS 中时无法打开数据库

    当我从 Visual Studio 运行我的网站时 一切正常 现在我正在尝试继续并开始测试多租户部分 因此我必须将我的网站移至 IIS 由于某种原因我无法访问数据库 当我打开需要数据库访问的页面时出现的错误是 无法打开登录请求的数据库 GW
  • 文本列不能存储超过 8000 个字符

    我对此进行了研究 发现textSQL Server 中的列可以存储超过 8000 个字符 但是当我在文本列中运行以下插入时 它只插入 8000 个字符 UPDATE a SET File b Header CHAR 13 CHAR 10 d
  • 将 Leaflet 地图设置为高度:容器的 100%

    请问我们如何将地图 div 设置为其容器的 height 100 我已经在引导模板内容部分中尝试过此操作 但我得到的只是 0px 的高度 甚至 Google Dev 工具也将 map 高度显示为 0px body padding 0 mar
  • 居中 DatePicker 控件

    我正在使用 wpf 工具包中的 datepicker 控件 我需要将日期选择器控件中的内容居中对齐 我怎样才能实现这个目标 尝试VerticalContentAlignment 居中 它不起作用
  • 为什么 jsp:include 参数不可见

    我有完全相同的基本问题关于访问 jsp param 值 https stackoverflow com questions 3698068 jsp include with parameters usage simple question正
  • 获取表中列中的行

    我想从我的表中得到一个特殊的结果 并且我想知道这是可能的 我有一个像这样的表 idA idB val 按此值 idA idB val 1 5 50 1 6 0 1 7 NULL 2 5 100 2 6 12 2 7 0 我想通过这样的格式从
  • 为什么 spring 不使用我的 Converter

    我的 applicationContext xml 中有这个
  • 无法删除错误 CRUD API(NodeJS、MongoDB、Express)

    我在尝试从我正在处理的 API 项目中创建的 mongo 数据库中删除字段时遇到错误 我对 RESTful API 以及 MongoDB 和 Express 都还很陌生 我按照 YouTube 上的教程进行操作 该教程解释了制作这样一个 A
  • OpenCV CLAHE 中的剪辑限制究竟意味着什么?

    我读过很多文章说clip limit是CDF斜率的极限 但是在OpenCV中 该参数可以设置为0 999 我不知道这个参数的最大值 PDF的总和不等于1吗 斜率怎么会大于1呢 剪辑限制的另一种说法是 这是对每个灰度级计数的限制 因此例如 如
  • 如何以编程方式添加导航控制器?

    在我的应用程序中 有一个要求 我的笔尖有 6 个按钮 当我按下任何按钮时 新的笔尖将根据按下的按钮加载到窗口中 问题是加载新笔尖后如果我想返回到以前的笔尖 具有所有按钮 如何添加导航控制器 我现在正在做的是在按下按钮时加载新笔尖 objNe
  • Google Maps API:反向地理编码和地址打印

    我创建了一张包含许多不同位置的地图 每个位置都有一种标记和标题 描述 我想做的是从 lat lng 中提取相对地址 我发现这个功能 https developers google com maps documentation geocodi
  • 自定义订单详细信息页面上的 Woocommerce 自定义字段

    查看文档 似乎没有明确的方法在客户的订单详细信息页面上显示自定义字段 我可以毫无问题地将自定义字段显示在管理订单详细信息或客户的电子邮件上 我可以看到可以完成的唯一方法是复制主题文件夹中的 woocommerce order order d
  • 如何使用 Geckodriver 保留 Firefox 配置文件的缓存?

    我需要用 Selenium 保留我的缓存Geckodriver 我有一个 Firefox 配置文件 我在启动时加载它Geckodriver ProfilesIni profilesIni new ProfilesIni FirefoxPro
  • 学说 ORM 条件关联

    我正在建立一个问答网站 我的问题 答案和评论都在同一个网站上posts桌子 但他们的postType是不同的 我可以通过该协会获得问题的答案和答案的评论 OneToMany targetEntity Cms Entity Post mapp
  • AWS RDS:如何使用boto3和jmespath获取最新快照?

    这是我尝试过的 usr bin env python3 import boto3 import jmespath from datetime import datetime timedelta now datetime utcnow yes
  • 如何在python中查找当前目录中文件名与特定模式匹配的所有文件?

    我试图在与我的脚本相同的目录中查找文件名与特定模式匹配的所有文件 理想情况下 我想在获得它们后将其存储在数组中 我需要匹配的模式是这样的 testing JUNK 08 05 txt 所有文件名的前面都有测试 并以日期结尾 08 05 tx
  • Google/Facebook 注册 Azure AD B2C 后跳过验证页面

    我想禁用 跳过要求在 Google Facebook 注册后修改显示名称 名字 姓氏的验证页面 我想直接重定向到我的应用程序 我正在使用 AD B2C 自定义策略 我尝试删除 InputClaims 和 OutputClaims
  • 在 python alpine docker 中安装 python numpy 模块

    我正在尝试 dockerize 我的 python 应用程序 构建 Dockerfile 和安装依赖项时显示错误scikit learn ie numpy Dockerfile FROM python alpine3 8 RUN apk u