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项目可以';在Docker中找不到模块_Python_Docker - Fatal编程技术网

Python项目可以';在Docker中找不到模块

Python项目可以';在Docker中找不到模块,python,docker,Python,Docker,出于机器学习的目的,我正在尝试使用以下docker文件在docker内部运行python项目: FROM python:3 RUN apt-get update \ && apt-get install -yq --no-install-recommends \ python3 \ python3-pip RUN pip3 install --upgrade pip==9.0.3 \ && pip3 install setupto

出于机器学习的目的,我正在尝试使用以下docker文件在docker内部运行python项目:

FROM python:3

RUN apt-get update \
    && apt-get install -yq --no-install-recommends \
    python3 \
    python3-pip
RUN pip3 install --upgrade pip==9.0.3 \
    && pip3 install setuptools

# for flask web server
EXPOSE 8081

# set working directory
ADD . /app
WORKDIR /app

# install required libraries
COPY requirements.txt ./
RUN pip3 install -r requirements.txt

# This is the runtime command for the container
CMD python3 app.py
这是我的需求文件:

flask
scikit-learn[alldeps]
pandas
textblob
numpy
matplotlib[alldeps]
但当我尝试导入textblob和pandas时,docker cmd中出现了一个名为“X”的无模块错误。

文件夹结构

machinelearning:
    backend:
        app.py
        Dockerfile
        requirements.txt
    frontend:
        ... (frontend works fine.)
    docker-compose.yml
有人知道这个问题的解决办法吗? (我是Docker的新手,所以我可能只是错过了一些关键的东西。)

这对我来说很有效

FROM python:3

RUN apt-get update
RUN apt-get install -y --no-install-recommends

# for flask web server
EXPOSE 8081

# set working directory
WORKDIR /app

# install required libraries
COPY requirements.txt .
RUN pip install -r requirements.txt

# copy source code into working directory
COPY . /app

# This is the runtime command for the container
CMD python3 app.py

您不需要显式安装pip或python。它们已经包含在图像中。我也不明白你为什么要贬低皮普。我将删除前两个RUN命令。另外,Docker构建的输出是什么?这可能与您运行的pip版本10旧版有关吗?我删除了前两次运行,在尝试导入前面提到的模块时,python以代码1退出,因为它无法找到需求文件中提到的模块。(同样的结果)我只是按原样运行它,即使安装了冗余python并降级了pip,正如@MiesvanderLippe所提到的,它仍然可以正常工作并导入模块。可能是路径相关的问题。请告诉我们您的应用程序的结构(当您将整个目录复制到/app时,为什么要处理requirements.txt)或docker build的输出。另外,请不要图片。我将文件夹结构添加到原始邮件中。然后您可以导入textblob和pandas吗?Jip它起作用了,可能只是刷新您的requirements.txt
pipfreeze>requirements.txt
我试图创建一个全新的docker项目,这对我来说也很有效。超级奇怪为什么它不能与以前的项目一起工作。