gpt4 book ai didi

python - 为什么 Google App Engine 找不到我的模块 (Python 3)?

转载 作者:行者123 更新时间:2023-11-30 21:53:31 24 4
gpt4 key购买 nike

我是 Google App Engine 的新手,遇到了应用找不到我的模块的问题。我收到错误 line 5, in <module> import foo as bar ModuleNotFoundError: No module named 'foo' 。我的当前文件结构如下所示(遵循一个很棒的 tutorial for Flask )。

问题是 routes.py无法导入 foo.py .

  • 应用引擎:/
    • 应用程序
      • 静态/css
      • 模板
      • __init__.py
      • foo.py
      • routes.py
    • app.yaml
    • 配置.py
    • main.py
    • 需求.txt
    • 源上下文.json

这是为什么呢?当本地工作时,App Engine 上的文件结构是否有特殊要求?

另外,为了让事情正常工作,我尝试将模块 foo 中的代码放在路由中,并且代码可以正常工作。但代码不属于那里,我想更好地构建它,但应用程序在分离时中断。最后,我想添加目录“app engine”:/app/libs(或其他建议),用于存储我的自定义内容。

编辑(从routes.py添加代码示例)

from flask import render_template, flash, redirect, url_for
from app import app
from app.forms import LookupForm
import logging
import foo as bar

@app.route("/")
@app.route("/index")

def index():
return render_template("index.html")

最佳答案

我能够重现您遇到的错误。以下是我的观察:

  • 您将 foo 模块存储在名为“app”的本地文件夹(ma​​in.py 文件所在的子目录)中。
  • 为了在这种情况下引用模块,您需要在导入时包含子目录的名称。
<小时/>

更改 routes.py 文件中的以下行:

import foo as bar

至:

import app.foo as bar

我已经测试了这个解决方案,它对我有用。如果有帮助请告诉我。

关于python - 为什么 Google App Engine 找不到我的模块 (Python 3)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59647918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com