Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 从Alpine存储库安装了python包,但在python中不可用_Python 2.7_Docker_Alpine - Fatal编程技术网

Python 2.7 从Alpine存储库安装了python包,但在python中不可用

Python 2.7 从Alpine存储库安装了python包,但在python中不可用,python-2.7,docker,alpine,Python 2.7,Docker,Alpine,我已经用Alpine linux构建了一个docker映像 在我的Dockerfile中,下面是一行 RUN apk add --update py-numpy py-numpy-dev py-scipy py-numpy-f2py --repository http://dl-cdn.alpinelinux.org/alpine/v3.8/community 我看到一些沿着 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_

我已经用Alpine linux构建了一个docker映像

在我的Dockerfile中,下面是一行

RUN apk add --update py-numpy py-numpy-dev  py-scipy  py-numpy-f2py --repository http://dl-cdn.alpinelinux.org/alpine/v3.8/community
我看到一些沿着

fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/3) Installing py-numpy (1.14.3-r1)
(2/3) Installing openblas (0.3.0-r0)
(3/3) Installing py2-numpy (1.14.3-r1)
Executing busybox-1.28.4-r1.trigger
OK: 389 MiB in 104 packages
但是当我运行docker映像,并进入python并运行

将numpy作为np导入

我得到一份工作

ImportError: No module named numpy
这里有完整的终端会话

/app # python
Python 2.7.15 (default, Sep 12 2018, 02:38:23) 
[GCC 6.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>> 

对我来说,它运转良好;你能发布整个Dockerfile吗?@valiano谢谢你的评论;我已经编辑了原始问题。谢谢Dockerfile@mcmasty,但即使有了它,我也无法重现这个问题。也许在运行该容器之后,您在该容器中执行了其他一些步骤?FWIW,我正在运行Docker版本17.03.2-ce,在Ubuntu 16.04.BTW上构建f5ec1e2,请注意:-“完成时清理apt”部分中的apt路径是冗余的(在Alpine中没有apt)g++下载并安装了两次(因为一开始它是用apk del build_dependencies删除的);那是灰烬,因为它是一个大包裹我认为没有必要在每一步中
rm-rf/var/cache/apk/*
——虽然它在层中节省了一些空间(这可以忽略不计),但包数据是反复下载的。-<代码>musl默认情况下始终安装软件包。您好@mcmasty,我遇到了相同的问题。从那以后你能解决这个问题吗?
FROM python:2.7-alpine3.8

RUN apk update && apk upgrade \
  && apk add ca-certificates \
  && rm -rf /var/cache/apk/*

RUN apk add --no-cache --virtual=build_dependencies make cmake gcc g++ git linux-headers libstdc++ && \
    apk del build_dependencies  && \
    apk add --no-cache libstdc++  && \
    rm -rf /var/cache/apk/*

#RUN apk add --update python-dev python py-pip py-setuptools
RUN apk add --no-cache --update musl musl-dev zlib libxml2 libxml2-dev libxml2-utils libxslt libxslt-dev py-httplib2 && \
    apk add --no-cache --update musl libffi libffi-dev libressl-dev gfortran libgfortran libstdc++ libgcc  cython cython-dev && \
    apk add --no-cache --update py-lxml py-jinja2 py-cffi py-cryptography py-netifaces py-mock py-markdown py-requests py-requests-oauthlib py-click && \
    rm -rf /var/cache/apk/*


#from the Community alpine repo
RUN apk add --no-cache --update py-numpy py-numpy-dev  py-scipy  py-numpy-f2py --repository http://dl-cdn.alpinelinux.org/alpine/v3.8/community && \
    rm -rf /var/cache/apk/*

ARG PANDAS_VERSION=0.23.4
RUN apk add --no-cache python-dev py-pip libstdc++ && \
    apk add --no-cache --virtual .build-deps g++ && \
    ln -s /usr/include/locale.h /usr/include/xlocale.h && \
    pip install pandas==${PANDAS_VERSION} && \
    apk del .build-deps


WORKDIR /app
ONBUILD ADD . /app

# Clean up APT when done
RUN  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apk/*

CMD ["/bin/ash"]