[英]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
这里有一些评论:
alpine:edge
图像,当然我不建议将其用于生产服务器apk
上的默认存储库可以使用选项一次性完成-X, --repository REPO Use packages from REPO
来自apk --help
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.