首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在高山码头镜像中使用asyncpg python模块

在高山码头镜像中使用asyncpg python模块
EN

Stack Overflow用户
提问于 2020-06-12 19:35:53
回答 2查看 773关注 0票数 0

我正在尝试使用python模块asyncpg构建一个基于python:3-8.alpine的映像。

下面是我的Dockerfile的一部分:

代码语言:javascript
复制
FROM python:3.8-alpine

RUN apk add gcc
RUN apk add python3-dev

RUN pip3 install asyncpg

我添加了gccpython3-dev,因为我认为我需要它们能够根据文档构建asyncpghttps://magicstack.github.io/asyncpg/current/installation.html (但我不确定,我认为我应该能够在不构建这个模块的情况下进行安装)

但我在构建镜像时出现了以下错误:

代码语言:javascript
复制
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.8 -c asyncpg/pgproto/pgproto.c -o build/temp.linux-x86_64-3.8/asyncpg/pgproto/pgproto.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion
In file included from asyncpg/pgproto/pgproto.c:29:
/usr/local/include/python3.8/Python.h:11:10: fatal error: limits.h: No such file or directory
    11 | #include <limits.h>
       |          ^~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1

如何解决此错误并安装asyncpg

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-12 20:13:08

你必须安装构建工具,而不仅仅是gcc。您还可以删除RUN apk add python3-dev步骤。因为您使用的是python作为基础映像。

代码语言:javascript
复制
FROM python:3.8-alpine

RUN apk add --no-cache build-base

RUN pip3 install asyncpg 

构建标准输出

代码语言:javascript
复制
Step 3/3 : RUN pip3 install asyncpg
 ---> Running in e109c84feec3
Collecting asyncpg
  Downloading asyncpg-0.20.1.tar.gz (734 kB)
Building wheels for collected packages: asyncpg
  Building wheel for asyncpg (setup.py): started
  Building wheel for asyncpg (setup.py): finished with status 'done'
  Created wheel for asyncpg: filename=asyncpg-0.20.1-cp38-cp38-linux_x86_64.whl size=1337371 sha256=5a0dcfc8c327eb4068814a9bf0a1d9beee1b9c440c1100efcede8ef63b1dac09
  Stored in directory: /root/.cache/pip/wheels/22/c9/61/991ebd5df043025e222695b7c4bc84e527bf3f0239073f0ea2
Successfully built asyncpg
Installing collected packages: asyncpg
Successfully installed asyncpg-0.20.1
Removing intermediate container e109c84feec3
 ---> 21dacd97e784
Successfully built 21dacd97e784
票数 5
EN

Stack Overflow用户

发布于 2020-06-12 20:15:08

您忘记添加musl-dev库。下面是可用的Dockerfile

代码语言:javascript
复制
FROM python:3.8-alpine

RUN apk add gcc python3-dev musl-dev

RUN pip3 install asyncpg
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62343455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档