繁体   English   中英

高山错误:不可满足的约束:py3-pandas(缺失):

[英]Alpine ERROR: unsatisfiable constraints: py3-pandas (missing):

我有以下dockerfile

FROM alpine:latest

ADD crontab.txt /crontab.txt
ADD  script.sh /script.sh
COPY entry.sh /entry.sh

ADD app /app 

RUN chmod 755 /script.sh /entry.sh
RUN /usr/bin/crontab /crontab.txt

# install dependencies
# the lapack package is only in the community repository
RUN echo "http://dl-8.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk update \
&& apk add --no-cache python3 py-pip py3-setuptools python-dev py3-lxml py3-requests  py3-numpy py3-cssselect py3-pandas

RUN apk --update add --no-cache \ 
lapack-dev \ 
gcc \
freetype-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 pip3 install cython
RUN pip3 install pymongo xlrd

CMD ["/entry.sh"]

当我尝试构建 dockerfile 时,我收到错误提示py3-pandas (missing)

我想知道这是否是 Alpine package 管理问题。

我可以通过以下方式重现您的问题:

FROM alpine:latest

RUN echo "http://dl-8.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
    && apk update \
    && apk add --no-cache py3-pandas

这里有一些评论:

  • 如果您已经打算使用 edge/testing 包存储库,那么您最好使用alpine:edge图像,当然我不建议将其用于生产服务器
  • 使用另一个 package 存储库而不是apk上的默认存储库可以使用选项一次性完成
    -X, --repository REPO Use packages from REPO
    来自apk --help
  • 边缘/测试存储库中不存在 package python-dev ,您应该使用python3-dev

重要免责声明:此解决方案确实涉及使用测试存储库和 Alpine 的边缘滚动发布分支,因此不建议用于生产


因此,最后,您可以安装所有依赖项:

FROM alpine:edge

RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
        py-pip \
        py3-setuptools \
        python3-dev \
        py3-lxml \
        py3-requests  \
        py3-numpy \
        py3-cssselect \
        py3-pandas \
        lapack-dev \ 
        gcc \
        freetype-dev 

请注意,我没有在那里添加构建依赖项,因为它们似乎与您手头的问题无关

不要为 python 使用高山图像; 问题太多了。 使用类似 python:slim-buster 的内容。 然后您可以使用以下命令安装您的要求:

FROM python:3.8.4-slim-buster
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM