【问题标题】:gcloud, python 3, app.yaml in local environement doesn't本地环境中的 gcloud、python 3、app.yaml 没有
【发布时间】:2020-02-10 05:18:03
【问题描述】:

对于 GAE,在 python 3.7 中,在 windows 10 上使用烧瓶、gcloud。 试图放置一个服务工作者,我花了 2 天时间无法加载 service-worker.js 文件。 在 localhost 上,如果文件位于根文件夹中,则该文件无法访问,但如果我将文件移动到静态文件夹,首先出现错误,因为 index.html 位于根目录而不是服务工作者文件,其次服务工作者文件的矿类型是text/html。 我想我需要更改 app.yaml 文件以指定我的类型,但它似乎没有任何效果。擦除 app.yaml 中的所有内容后,我意识到它不会影响 localhost。我部署了该项目,它可以在 gae 服务器上运行。 我希望能够在本地测试服务人员。 我错过了什么? 在 GAE 上成功加载:

但是本地主机上的 404:

您会注意到位于根文件夹中的清单文件存在同样的问题。

谢谢。

【问题讨论】:

  • 请显示您的服务的.yaml 文件和文件/目录结构 - 服务文件的位置相对于服务的.yaml 文件很重要。另请说明这是单服务应用程序上下文还是多服务应用程序内的服务。
  • .yaml 很好,一旦项目部署,一切都按预期工作。我终于发现,简单地使用 «python main.py» 运行项目不使用 app.yaml,您应该使用 dev_appserver.py,它不适用于使用 python 3.x 或 gunicorn 的项目不能在 Windows 上运行。实际上在 debian 上编译 python 3.7 以尝试在 linux-subsystem for windows 上运行该项目。 Debian 只有 3.5,但 ndb 需要 3.6 及更多的 si。
  • 请查看此SO case,它可能对您想要实现的目标派上用场。否则,请告诉我,我会更深入地研究它。

标签: google-app-engine service-worker python-3.7 gcloud app.yaml


【解决方案1】:

按照安装过程的规定,dev_appserver 不能在带有 python 3 的 Windows 上运行。 解决方案是为 windows 安装一个 linux 子系统:https://docs.microsoft.com/en-us/windows/wsl/install-win10

我使用来自 windows 商店的 Ubuntu 应用程序,并按照安装程序在 ubuntu 终端内的 linux 上安装 gcloud 组件: https://https://docs.microsoft.com/en-us/windows/wsl/install-win10cloud.google.com/sdk/docs/#deb

在 Ubuntu 终端中可以访问 windows 文件:C 盘是 /mnt/c。 回到我的工作文件夹,可以使用 dev_appserver 命令启动 web-app。

使用 Windows 中的导航器,我们可以正常使用 localhost:8080 访问网络应用程序。

开发仍然可以在 windows 中使用 IDE 完成,在 Ubuntu 中运行服务器。

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 2021-11-13
    • 2020-03-21
    • 1970-01-01
    • 2014-05-05
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多