装有apt的Gunicorn未发现装有pip的Flask

2024-03-28 14:51:30 发布

您现在位置:Python中文网/ 问答频道 /正文

总之,我正在使用一个docker映像,其中包含一个apt安装版本的gunicorn3,运行一个pip安装的flask应用程序。我的Dockerfile和flask应用程序包括在下面。当我试图在/App目录中运行gunicorn3 api时,我得到一个堆栈跟踪,它抱怨无法找到flask,但是如果我直接运行python3,我可以导入flask

有人能想出一个为什么古尼科恩看不到我的烧瓶库的原因吗

回溯:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 129, in init_process
    self.load_wsgi()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load
    return self.load_wsgiapp()
  File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 375, in import_app
    __import__(module)
  File "/App/api.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'

Dockerfile

FROM python:3.7-slim
# Install Web Server
RUN apt-get update && apt-get install --yes gunicorn3

RUN pip3 install -U pip

# Install Dependencies
COPY src/requirements.txt /requirements.txt
RUN pip3 install -r requirements.txt

ADD src /App
WORKDIR /App

api.py

from flask import Flask
from flask_cors import CORS


app = Flask(__name__)
# for now allow all, for local testing
# https://flask-cors.readthedocs.io/en/latest/
CORS(app)


@app.route("/", methods=["POST"])
def hello():
    return "Hello, World!"

requirements.txt

flask==1.1.1
flask-cors==3.0.8

Tags: inpyimportselfappflasklibpackages