Python Alpine Linux中缺少包,即使它';s在一揽子回购协议网站上上市

Python Alpine Linux中缺少包,即使它';s在一揽子回购协议网站上上市,python,linux,docker,gdal,alpine,Python,Linux,Docker,Gdal,Alpine,我正在尝试构建一个Docker容器,该容器使用GDAL和必要的Python挂钩运行Alpine Linux: FROM python:3.6-alpine RUN apk update RUN apk add py-gdal gdal RUN pip install uwsgi RUN mkdir /code WORKDIR /code COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD

我正在尝试构建一个Docker容器,该容器使用GDAL和必要的Python挂钩运行Alpine Linux:

FROM python:3.6-alpine

RUN apk update

RUN apk add py-gdal gdal

RUN pip install uwsgi

RUN mkdir /code
WORKDIR /code
COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["uwsgi", "--ini", "uwsgi.ini"]
如您所见,我正在运行一个
apkupdate
语句来更新repos,然后运行
apkadd
语句来安装软件包。以下是我收到的输出:

/usr/bin/make -f /Users/some_guy/Workspace/tagging_tracker_backend/Makefile build up
Pulling nginx ... 
Pulling db    ... 
Pulling web   ... 
db uses an image, skipping
Building nginx
Step 1/3 : FROM nginx:1.15
 ---> 7042885a156a
Step 2/3 : RUN rm /etc/nginx/conf.d/default.conf
 ---> Using cache
 ---> 97782a5dae3a
Step 3/3 : COPY nginx.conf /etc/nginx/conf.d/tag.conf
 ---> Using cache
 ---> 3158ab7993cd
Successfully built 3158ab7993cd
Building web
Successfully tagged tagging_tracker_backend_nginx:latest
Step 1/10 : FROM python:3.6-alpine
 ---> de35df1f34dd
Step 2/10 : RUN apk update
 ---> Using cache
 ---> 15477d802b32
Step 3/10 : RUN apk add py-gdal gdal
 ---> Running in 77bef31e5d15
ERROR: unsatisfiable constraints:
  gdal (missing):
    required by: world[gdal]
  py-gdal (missing):
    required by: world[py-gdal]
Service 'web' failed to build: The command '/bin/sh -c apk add py-gdal gdal' returned a non-zero code: 2
make: *** [build] Error 1

Process finished with exit code 2
这两个软件包都可以在上找到


我不熟悉Alpine Linux,但习惯在其他类型的Linux上安装软件包。是否需要在此传递另一个命令?

您链接到的
gdal
包位于边缘测试存储库中,而不是其中一个发布分支。要安装它,您必须特别指定该存储库
gdal
还依赖于edge main中的包,所以您也需要包含这些包

apk add \
  --no-cache \
  --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
  --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
  gdal

请注意,这一点目前似乎被打破了——那些
edge
GDAL包在stable Alpine上被破坏了。仅供参考,安装GDAL可以使用python:3.5-Alpine中的
工作,它还可以使用python:3.6-Alpine中的
工作,令人沮丧的是,这是一个被认为是离题的问题。主持人能否指出为什么它偏离主题,以及在哪里可能是继续这一重要讨论的最佳地点?