在 Docker Alpine 上安装seaborn

2023-12-24

我正在尝试安装seaborn使用这个 Dockerfile:

FROM alpine:latest

RUN apk add --update python py-pip python-dev 

RUN pip install seaborn

CMD python

我得到的错误与numpy and scipy(需要由seaborn)。它开始于:

/tmp/easy_install-nvj61E/numpy-1.11.1/setup.py:327:用户警告: 无法识别的 setuptools 命令,继续生成 Cython 来源和扩展模板

并以

文件“numpy/core/setup.py”,第 654 行,位于 get_mathlib_info

运行时错误:工具链损坏:无法链接简单的 C 程序

命令“python setup.py Egg_info”失败,错误代码为 1 /tmp/pip-build-DZ4cXr/scipy/

命令“/bin/sh -c pip install seaborn”返回非零代码:1

知道我该如何解决这个问题吗?


要修复此错误,您需要安装gcc: apk add gcc.

但是您会发现您将遇到一个新错误,因为 numpy、matplotlib 和 scipy 有多个依赖项。您还需要安装gfortran, musl-dev, freetype-dev, etc.

这是一个基于您最初的 Dockerfile,它将安装这些依赖项以及seaborn:

FROM alpine:latest

# install dependencies
# the lapack package is only in the community repository
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk --update add --no-cache \ 
    lapack-dev \ 
    gcc \
    freetype-dev

RUN apk add python py-pip python-dev 

# Install dependencies
RUN apk add --no-cache --virtual .build-deps \
    gfortran \
    musl-dev \
    g++
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h

RUN pip install seaborn

# removing dependencies
RUN apk del .build-deps

CMD python

您会注意到我正在使用以下命令删除依赖项apk-del .build-deps限制图像的大小(http://www.sandtable.com/reduce-docker-image-sizes-using-alpine/ http://www.sandtable.com/reduce-docker-image-sizes-using-alpine/).

就我个人而言,我还必须安装 ca 证书,但看来您没有这个问题。

Note:您还可以从python:2.7-alpine图像以避免自己安装 python 和 pip。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Docker Alpine 上安装seaborn 的相关文章

  • 制作一个可以接受各种形状参数的函数

    Q1 Numpy 函数可以采用不同形状的参数 例如 np sum V 可以采用以下两个之一并返回具有不同形状的输出 x1 np array 1 3 1 x2 np array 1 2 3 4 5 6 7 8 2 我正在制作自己的函数 如下所
  • 如何在 Docker Desktop 上创建新的 Kubernetes 集群?

    我似乎不知道如何在我的计算机上运行的 Docker Desktop 实例上创建全新的 Kubernetes 集群 无论是 Mac 还是 PC 都没有关系 我知道如何设置当前集群上下文 但我只有一个集群 因此无法设置其他任何内容 What s
  • Numpy 附加到一个空数组

    第一种情况 gt gt gt import numpy as np gt gt gt x np array 0 gt gt gt x np append x 1 gt gt gt x array 0 1 x包含 2 个元素 这是为什么 第二
  • 在 Windows 容器中使用命名管道(同一主机)

    我想要有 2 个 Windows 容器 在同一主机上运行 使用 Windows 10 客户端计算机和 Windows 的 docker 通过命名管道 不是匿名管道 进行通信 然而 我无法让它发挥作用 我的命名管道服务器类是在 GitHub
  • python 管理大变量分配/释放的策略是什么?

    作为后续这个问题 https stackoverflow com questions 18310668 is freeing handled differently for small large numpy arrays 看来 C Pyt
  • 将 numpy 数组传递给 C++

    我有一些用 Python 编写的代码 其输出是 numpy 数组 现在我想将该输出发送到C 代码 其中将执行大部分计算 我尝试过使用 cython 的public cdef 但我正在处理一些问题 我将感谢您的帮助 这是我的代码 pymodu
  • 在容器组的“imageRegistryCredentials”中找到重复的映像注册表“index.docker.io”

    PS C Source VelocityAzurev0 10 0 credentialagent docker compose gt docker compose up Running 0 1 Group credentialagent d
  • 如何使用 Python Gekko 求解绝对值 abs() 目标?

    使用 Python Gekko 中的 IPOPT 成功解决了具有平方目标的优化问题 from gekko import GEKKO import numpy as np m GEKKO x m Var y m Param 3 2 m Obj
  • Seaborn:带有边缘直方图的 kdeplot

    我正在使用一个kdeplot https seaborn pydata org generated seaborn kdeplot html绘制两个二元分布的密度 如下所示df c and df n有两个 Pandas DataFrame
  • 向 docker 镜像添加新的入口点

    最近 我们决定将我们的一项服务迁移到 docker 容器 该服务是另一家公司的产品 他们为我们提供了 docker 镜像 但是 我们需要在容器入口点中执行一些额外的配置步骤 我尝试的第一件事是从基础映像创建一个 DockerFile 然后添
  • Python:numpy/pandas 根据条件更改值

    我想知道是否有更快 更 Pythonic 的方法来执行以下操作 例如使用一些内置方法 给定一个 pandas DataFrame 或 numpy 浮点数组 如果该值等于或小于 0 5 我需要计算倒数并乘以 1 并用新计算的值替换旧值 转变
  • 熊猫 style.background_gradient 忽略 NaN

    我有以下代码来转储数据帧results到 HTML 表格中 这样的列TIME FRAMES根据seaborn 的颜色图进行着色 import seaborn as sns TIME FRAMES 24h 7d 30d 1y Set CSS
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • 对于多列,将当前行和上一行的差异附加到新列

    对于 df 中的每一列 我想从前一行 row n 1 row n 中减去当前行 但我遇到了困难 我的代码如下 usr bin python3 from pandas datareader import data import pandas
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 如何从 Docker Hub 删除存储库

    如何从 Docker Hub 完全删除存储库 Docker 正在快速发展 他们的网站也是如此 这是从 docker hub Web 界面删除存储库的最新方法 首先 确保您已登录 hub docker com Simple 单击顶部的存储库链
  • 如何在seaborn.objects API中移动图例位置

    我正在使用新的seaborn objects https seaborn pydata org api html objects interfaceAPI 在 v0 12 0 中可用 没有任何一个examples https seaborn
  • 非生产模式下的 Elasticsearch docker 容器可消除 vm.max_map_count=262144 要求

    如何配置 elasticsearch docker 容器 elasticsearch 7 5 0 以使用更少的资源并在非生产模式下运行 我想在 Jenkins 和我的桌面上运行容器 并且满足以下要求这个弹性文档 https www elas
  • 有没有计算Docker容器开销的公式?

    假设我想同时运行多个 Docker 容器 我可以使用任何公式来提前了解单个 Docker 主机可以同时运行多少个容器吗 即 有多少 CPU 内存等 我必须考虑容器本身吗 它本身不是一个公式 但您可以通过检查 Linux 控制组来收集有关容器

随机推荐

  • 如何使用 SelectedRows 从数据网格视图中获取选定的行数据?

    我有一个在数据网格视图控件中显示的表 用户从控件中选择一行并按下按钮 我需要从该行检索单元格并将它们存储为字符串 究竟如何使用 SelectedRow 方法获取数据 我已经为此工作了几个小时 但我已经束手无策了 这是我尝试过的示例 Data
  • Visual Studio 2015 Update 3 离线安装程序 (ISO) [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 在深入研究 Visual Studio IDE 2015 update 3 离线安装程序 又名 ISO 文件 后 我找到了它并分享了该 UR
  • 计算两列之间的时间差

    将因子转换为 POSIXCT 格式 然后应用日期时间格式后 我想获取 2 个 pos1 和 pos2 之间的日期时间差 但是 当我对特定项目执行此操作时 我在控制台中得到了正确的答案 但是当我对整个集合执行操作时 控制台仅输出数字 并且日期
  • 负向前瞻正则表达式

    为什么这不起作用 尝试进行消极的前瞻 我正在尝试从垃圾箱中提取数字 但检疫箱和检查箱除外 当我执行前面带有 的代码时 它会匹配括号中的所有数字 当我删除 时 它不匹配任何内容 您还可以使用 或运算符 在否定的前瞻中 我想要 Quaranti
  • Spring重试找到最后一次重试

    我在用Spring retry 1 2 0 https github com spring projects spring retry blob master README md 重试工作正常 但在我的方法中我想知道重试是否是最后一次重试
  • 选择计数(不同值)返回 1

    我正在设计一个查询SSMS http en wikipedia org wiki SQL Server Management Studio2005 年看起来像这样 SELECT COUNT DISTINCT ColumnName FROM
  • Ace 编辑器:自定义语法错误间距

    只是想知道 是否可以自定义语法错误槽 另外 是否可以突出显示有语法错误的文本 例如下面我试图检查的值myString反对字符串 chetan 但不带引号 现在这是一个语法错误 目前 我们在行号之前的装订线中显示错误 但是是否可以自定义 ac
  • 为什么对于某些文字,instanceof 返回 false?

    foo instanceof String gt false foo instanceof Object gt false true instanceof Boolean gt false true instanceof Object gt
  • 加载词和移动之间的区别?

    有什么区别 ldw r8 0 r4 and mov r8 r4 Load word 说 从内存复制 但是当 load word 从 r4 复制时 它是从寄存器复制而不是从内存复制 对吧 The lw instruction I assume
  • java中基于空格和匹配引号的正则表达式分割字符串

    我有一个字符串 需要根据空间和精确匹配的引号进行拆分 If the string It is fun to write regular expression 分割后我希望结果是 It is fun 来写 regular 表达 我从中得到一些
  • 如何创建一个随机链接到多个网站的按钮?

    我只是想知道如何创建一个按钮 每次单击该按钮时可以将一个人以随机顺序带到多个网站 我不希望这些网站一次全部打开 一次只打开一个 我正在寻找类似于 StumbleUpon 上使用的 stumble 按钮的东西 我计划将此按钮用于我计划创建的工
  • SQL 查询Where 子句为空或匹配(仅返回1)?

    我有一个表 其中的记录结构与此类似 ID角色ID1 空2 153 16 我编写了一个 where 子句来获取如下所示的记录 SELECT from TableX WHERE RoleID 2 OR RoleID IS NULL 这让我得到
  • 生成最终存档时出错:java.io.FileNotFoundException:xxx\bin\resources.ap_不存在

    昨天我安装了一些旧版本google api的 之后一切都出了问题 我创建的每个项目都显示 项目包含错误修复它们 它显示以下错误 生成最终存档时出错 java io FileNotFoundException C xxx maps bin r
  • UILabel 动画不正确

    由于某种原因 UILabel 的文本想要在没有动画的情况下设置其对齐方式 并且我不知道如何使文本与标签的其余部分一起动画 我现在有以下代码 UILabel label UILabel alloc initWithFrame CGRectMa
  • 如何在不重新加载和 # hack 的情况下更改 Windows 位置?

    起初我认为哈希破解是一个要求 但是从 Facebook 最近的更新来看 我不这么认为 最初的 hash hack 我不确定这是否是正确的术语 是通过更改 location hash 可以在 URL 中保存状态而不刷新页面 这被谷歌的应用程序
  • 在 Swift 中转义反斜杠

    我将正则表达式作为字符串值发送到 CloudKit 但它似乎不喜欢它 将 by 然而 一旦我从我的应用程序中获得这个值 我想以其原始形式重新转换它 代替 我不知道如何在 Swift 中管理这种转义字符 因为我什至无法用 a 设置字符串 在我
  • 如何加速“独特”数据框搜索

    我有一个数据框 其尺寸为 2377426 行 x 2 列 如下所示 Name Seq 428293 ENSE00001892940 ENSE00001929862 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  • 如何每隔x秒重复执行一个函数?

    我想永远每 60 秒重复执行一次 Python 中的函数 就像NSTimer http web archive org web 20090823012700 http developer apple com 80 DOCUMENTATION
  • java持久化内存泄漏

    我的表中有 100 万行 我想获取所有行 但是当我尝试通过分页获取带有 jpa 的所有行时 我收到 java 堆错误 你认为我错过了什么吗 任何建议 int counter 0 while counter gt 0 javax persis
  • 在 Docker Alpine 上安装seaborn

    我正在尝试安装seaborn使用这个 Dockerfile FROM alpine latest RUN apk add update python py pip python dev RUN pip install seaborn CMD