Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 GAE错误:-/bin/sh:1:exec:gunicorn:未找到_Python_Git_Api_Google App Engine_Flask - Fatal编程技术网

Python GAE错误:-/bin/sh:1:exec:gunicorn:未找到

Python GAE错误:-/bin/sh:1:exec:gunicorn:未找到,python,git,api,google-app-engine,flask,Python,Git,Api,Google App Engine,Flask,我正在尝试使用GAE的试用版在GAE上部署我的应用程序。到目前为止,我成功地创建了一个app.yaml,该app.yaml使用python 3.6定制了灵活的环境设置 但是,在部署应用程序时,应用程序成功构建,但是,我不断收到以下错误 更新服务[默认设置](这可能需要几分钟)…失败。 错误:(gcloud.app.deploy)错误响应:[9] 应用程序启动错误: /bin/sh:1:exec:gunicorn:未找到 以下是我的项目中文件的文件夹层次结构: 遵循app.yaml的代码 env

我正在尝试使用GAE的试用版在GAE上部署我的应用程序。到目前为止,我成功地创建了一个app.yaml,该app.yaml使用python 3.6定制了灵活的环境设置

但是,在部署应用程序时,应用程序成功构建,但是,我不断收到以下错误

更新服务[默认设置](这可能需要几分钟)…失败。 错误:(gcloud.app.deploy)错误响应:[9] 应用程序启动错误: /bin/sh:1:exec:gunicorn:未找到

以下是我的项目中文件的文件夹层次结构:

遵循app.yaml的代码

env: flex
runtime: custom
api_version: 1
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
    python_version: 3.6

#handlers:
#- url: /SmsResponse
#  script: Twilio_Routing.RecivedSms
#
#- url: /CallResponse
#  script: Twilio_Routing.ReceivedCall
我肯定错过了一些东西,我真的非常感谢大家的帮助。

requirements.txt

Flask==0.10.1
gunicorn==19.3.0
twilio==6.8.4
DockerFile

FROM gcr.io/google-appengine/python
LABEL python_version=python3.6
RUN virtualenv --no-download /env -p python3.6

# Set virtualenv environment variables. This is equivalent to running
# source /env/bin/activate
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH

# Copy the application's requirements.txt and run pip to install all
# dependencies into the virtualenv.
ADD requirements.txt requirements.txt
RUN pip install -r requirements.txt

ADD . /app/

#CMD gunicorn -b :$PORT main:app
ENTRYPOINT [ "python", "Twilio_Routing.py" ]
另外,在对requirements.txt进行更改后,我得到错误502 Bad Gateway

显示服务已成功执行的日志

017-12-25 01:29:03 default[20171224t212610]   * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
2017-12-25 01:29:03 default[20171224t212610]   * Restarting with stat
2017-12-25 01:29:03 default[20171224t212610]   * Debugger is active!
2017-12-25 01:29:03 default[20171224t212610]   * Debugger PIN: 134-103-452
2017-12-25 01:29:17 default[20171224t212610]   * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
2017-12-25 01:29:17 default[20171224t212610]   * Restarting with stat
2017-12-25 01:29:17 default[20171224t212610]   * Debugger is active!
2017-12-25 01:29:17 default[20171224t212610]   * Debugger PIN: 134-103-452

有人能看看我在git中的代码,告诉我我在这里遗漏了什么吗
CMD exec gunicorn -b :$PORT main:app
致:


我只看到基本图像是
python
一个,而不是
gcr.io/google appengine/python
一些更改,我就可以在docker中运行你的应用程序了

  • Twilio_Routing.py
    中,将
    host
    更改为收听
    0.0.0
    ,而不是
    127.0.0.1
    。这需要使服务器在外部可用
  • 由于您的
    app.yaml
    已配置,您不需要按照
    Google app Engine
    的要求自定义
    Dockerfile
    。保留它作为您自己的定制。以下是我使用的:

    #Python's Alpine Base Image
    FROM python:3.6-alpine3.6
    
    #Installing all python modules specified
    ADD requirements.txt requirements.txt
    RUN pip install -r requirements.txt
    
    #Copy App Contents
    ADD . /app
    WORKDIR /app
    
    #Start Flask Server
    CMD [ "python","Twilio_Routing.py"]
    #Expose server port
    EXPOSE 8080
    

  • 对我来说,错误很简单,只要确保gunicorn位于
    requirements.txt

    Flask==1.0.2
    gunicorn==19.9.0
    
    注:


    我看到OP加了这面旗;这是为了帮助其他可能遇到
    exec:gunicorn:notfound

    您的
    Dockerfile
    和您的
    requirements.txt的人,请!请编辑您的问题,并将文件内容添加为(代码格式)文本。根据建议进行更改,我相信我遗漏了在dockerfile中添加requirements.txt文件,我的问题是我把requirements.txt文件拼错了。通过你的回答,我意识到我没有在我的dockerfile中添加requirements.txt文件,我最终做到了。后来,它给了我一个关于没有模块名的错误:main,所以我用ENTRYPOINT命令替换了CMD命令,并成功地部署了它。然而,当我试图访问时,它给了我错误502坏网关。我又被卡住了。我错过了什么。我已根据我的最新更改更新了问题中的dockerfile。@AfsanAbdulaliGujarati您是否检查了容器中的日志(不仅仅是docker日志)?如果您将其放在app.py您的应用程序而不是main中会怎么样?让我试一试。谢谢
    
    Flask==1.0.2
    gunicorn==19.9.0