Google app engine /bin/sh:1:exec:gunicorn:未找到

Google app engine /bin/sh:1:exec:gunicorn:未找到,google-app-engine,google-cloud-platform,google-compute-engine,gunicorn,daphne,Google App Engine,Google Cloud Platform,Google Compute Engine,Gunicorn,Daphne,我正试图在谷歌云应用程序引擎上部署一个简单的django应用程序。应用程序有基本的wsgi和asgi服务器,其中wsgi服务HTTPS请求,asgi服务websocket请求。 我遵循谷歌应用程序引擎教程来部署应用程序,它成功构建和部署。但是,它无法在部署的工作区中找到已安装的软件包 这些是我正在遵循的步骤 gcloud init virtualenv myenv source activate myenv/bin/activate pip install -r requirements.txt

我正试图在谷歌云应用程序引擎上部署一个简单的django应用程序。应用程序有基本的wsgi和asgi服务器,其中wsgi服务HTTPS请求,asgi服务websocket请求。 我遵循谷歌应用程序引擎教程来部署应用程序,它成功构建和部署。但是,它无法在部署的工作区中找到已安装的软件包

这些是我正在遵循的步骤

gcloud init
virtualenv myenv
source activate myenv/bin/activate
pip install -r requirements.txt
gcloud app deploy
requirements.txt确实有gunicorn和daphne,它们也可以安装

这是我在浏览器上打开部署的应用程序时遇到的错误

2020-12-15 20:48:25 my-service[20201216t014451]  /bin/sh: 1: exec: gunicorn: not found
这就是我的app.yaml文件的样子

runtime: python38
service: my-service
instance_class: F2

entrypoint: gunicorn -b :$PORT main:app
handlers:
  - url: /.*
    script: auto
    secure: always

inbound_services:
- warmup

automatic_scaling:
  min_instances: 1
  min_idle_instances: 1
  max_instances: 2
  max_idle_instances: 1
我还尝试在入口点中传递确切的路径,即入口点:gunicorn-b:$PORT main:app,但得到了相同的错误

我正在我的virtualenv中调用gcloud app deploy,但当它被部署时,它无法读取已安装的软件包,即daphne和gunicorn。 它们都可以在本地环境中使用相同的包在同一目录下工作


我参考了这些问题并尝试了答案,但没有任何效果。

GAE app engine需要与app.yaml位于同一目录中的requirements.txt文件

我的requirements.txt文件位于一个子文件夹中,这就是为什么google app engine无法安装gunicorn的原因。
我在本地安装需求,并在部署时传递已安装的需求,但似乎没有必要在本地安装它们(在本地服务器上测试更改除外)。

您可以尝试使用
gcloud beta-app-deploy部署吗?无缓存
?另外,请查看,以了解App Engine Standard如何管理gunicorn和应用程序启动。如果以上失败,你可以尝试测试。嘿。谢谢我错过了这个把戏。我曾经使用pip安装依赖项,并在环境中使用已安装的依赖项进行部署。我的requirements.txt文件位于子文件夹中。但是,google app engine只需要基本文件夹中的requirements.txt文件,它在构建自身时安装依赖项(沿gunicorn)。我的问题现在解决了。总是很乐意帮忙。我会将答案发布到社区和跟踪目的。