使用 Flask 和 GAE 导入错误
ImportError using Flask and GAE
我希望应用引擎将 index.html 与根目录 URL 关联,将 main.app 与 /stats 关联。这是我的 app.yaml:
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /
static_files: index.html
upload: index.html
- url: /stats.*
script: main.app
- url: /(.*)
static_files:
upload: (.*)
如果 URL 是 /stats,我想打印一条短消息。这是 main.py:
中的代码
import logging
from flask import Flask
app = Flask(__name__)
@app.route('/stats')
def stats():
return 'Hello World!'
当我尝试访问 /stats 时,GCP 日志显示 ImportError: No module named main
。我该如何解决这个问题?
您似乎陷入了 /stats
处理程序和 /(.*)
处理程序之间的冲突。根据 static_files
的 documentation:
If a static file path matches a path to a script used in a dynamic handler, the script will not be available to the dynamic handler.
因此,要么删除 /(.*)
处理程序,要么,如果您打算使用它提供静态文件,我建议使用文档中描述的处理程序:
- url: /(.*\.(gif|png|jpg|whateverextension))$
static_files: static/
upload: static/.*\.(gif|png|jpg|whateverextension)$
此外,不要忘记将 Flask 库添加到您的 app.yaml
文件中:
libraries:
- name: flask
version: 0.12
我希望应用引擎将 index.html 与根目录 URL 关联,将 main.app 与 /stats 关联。这是我的 app.yaml:
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /
static_files: index.html
upload: index.html
- url: /stats.*
script: main.app
- url: /(.*)
static_files:
upload: (.*)
如果 URL 是 /stats,我想打印一条短消息。这是 main.py:
中的代码import logging
from flask import Flask
app = Flask(__name__)
@app.route('/stats')
def stats():
return 'Hello World!'
当我尝试访问 /stats 时,GCP 日志显示 ImportError: No module named main
。我该如何解决这个问题?
您似乎陷入了 /stats
处理程序和 /(.*)
处理程序之间的冲突。根据 static_files
的 documentation:
If a static file path matches a path to a script used in a dynamic handler, the script will not be available to the dynamic handler.
因此,要么删除 /(.*)
处理程序,要么,如果您打算使用它提供静态文件,我建议使用文档中描述的处理程序:
- url: /(.*\.(gif|png|jpg|whateverextension))$
static_files: static/
upload: static/.*\.(gif|png|jpg|whateverextension)$
此外,不要忘记将 Flask 库添加到您的 app.yaml
文件中:
libraries:
- name: flask
version: 0.12