【问题标题】:pip install letencrypt, how do I know which packages are needed?pip installletsencrypt,我怎么知道需要哪些包?
【发布时间】:2017-01-26 19:41:51
【问题描述】:

我正在阅读这个 dockerfile 以在 Alpine 上进行 Letsencrypt:

https://github.com/CognitiveScale/lets-alpine/blob/master/Dockerfile

据我所知,如果我在 ubuntu 上只安装了 pipapk,甚至是 apk-get,包管理器不应该下载任何其他需要的库以使 pip 工作吗?为什么这个库列表必须在 dockerfile 中输入?

RUN apk add --update  \
  python python-dev py-pip \
  gcc musl-dev linux-headers \
  augeas-dev openssl-dev libffi-dev ca-certificates dialog \
  && rm -rf /var/cache/apk/*

我问这个是因为,如果我想基于 alpine 创建图像,我如何知道所有需要的库?

【问题讨论】:

    标签: python docker package apk


    【解决方案1】:

    pip 本身不需要这些 Alpine 包,大概需要它们来构建您稍后将使用pip 安装的 Python 模块。

    您需要阅读模块描述以确定它们的依赖关系。或者,当某些 Python 模块无法构建时,您可以按照“反复试验”的方式添加所需的 Alpine 包。

    【讨论】:

    • 但 pip 不应该处理构建模块所需的依赖关系吗?
    • Python 依赖项——是的,操作系统依赖项——否。好吧,应该或不应该是一种意见;无论如何,它不能安装操作系统包。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2016-11-12
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多