ModuleNotFoundError:没有名为“ <模块名称>”的模块

时间:2019-12-02 19:55:45

标签: python docker setuptools

我在Python中有2个项目-

  1. 框架(Python软件包)
  2. 应用程序(Flask应用程序)

Framework项目具有一个使用setuptools的setup.py脚本,我正在将框架模块导入App项目中。

我在计算机上本地安装了Framework软件包,应用程序可以找到我的Framework软件包。

我现在正在尝试使应用程序在docker中运行。我正在使用以下dockerfile-

FROM python:3.6-alpine
ENV PYTHONUNBUFFERED 1

WORKDIR /app

COPY App /app/App
COPY Framework /app/Framework
COPY requirements.txt /app

RUN pip install -r requirements.txt
RUN python Framework/setup.py install

ENTRYPOINT [ "python" ]

CMD ["App/application.py"]

代码的文件夹结构

Project
|
|___ Framework
|    |
|    |__framework-subfolder>code.py
|    |
|    |__setup.py
|
|___ App
|    |
|    |__app-subfolder>app.py
|
|___ Dockerfile

app.py引用了code.py。

code.py文件-

from flask import Flask
from flask_restful import Resource, Api

def create_app(name):
    return Flask(name)

def create_api(app):
    return Api(app)

app.py文件-

from framework-subfolder.code import create_api, create_app
...
...

当我运行docker build时,它成功完成,但是当我调用docker run时,出现错误

ModuleNotFoundError: No module named 'framework-subfolder'

我对丢失的东西有些迷茫。任何帮助将不胜感激。

0 个答案:

没有答案