【发布时间】:2018-08-19 06:38:46
【问题描述】:
我有一个带有python:3.6-alpine 内核的容器。我在通过pip 安装pyzmq 时遇到问题:
Dockerfile:
FROM python:3.6-alpine
RUN mkdir /code
RUN apk add vim
WORKDIR /
ADD . /code
docker-compose.yml:
version: '3'
services:
battery_monitoring:
build: .
image: bm:1.0.0
container_name: battery_monitoring
restart: unless-stopped
volumes:
- .:/code
tty: true
当我在这个容器上安装几个 Python 库时没有任何问题,但是使用 pyzmq 库时,出现错误:
程序:
$ docker-compose build
$ docker-compose up -d
$ docker exec -it <This-container-ID> sh
在容器中:
pip install pyserial
pip install easydict
以上包安装正常,但pyzmq安装出现如下错误:
pip install pyzmq
部分结果:
----------------------------------------
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-545my4q5/pyzmq/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-nbtsgz0b/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-545my4q5/pyzmq/
[注意]:
pip -V
pip 18.0 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
which pip
/usr/local/bin/pip
- 使用
python:3.6-slim代替python:3.6-alpine没有任何问题
【问题讨论】:
标签: python docker pip alpine pyzmq