gpt4 book ai didi

python - 你如何用cython编译一个 flask 应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:04 24 4
gpt4 key购买 nike

我有一个 Python flask 应用程序,我需要使用 cython 进行编译。正在关注this guide ,我可以编译一个简单的 python 应用程序,但是当我对一个简单的 flask 应用程序做同样的事情时:

#!/usr/bin/env python2

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
return "hello"

if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000)

它似乎编译得很好,但是当我尝试运行它时,我得到了这个:

Traceback (most recent call last):
File "./run.py", line 3, in <module>
from app import main
ImportError: cannot import name main

当我尝试运行 main.py 时。

我的 compile.py 看起来像这样:

#!/usr/bin/env python2

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [
Extension("app", ["app.py"]),
]
setup(
name = 'My Test Website',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)

我的 main.py 看起来像这样:

#!/usr/bin/env python2

from app import main
main()

flask是否使用了一些无法编译的特性?还是我做错了?

最佳答案

您没有在 app.py 中定义 main() 函数,所以 from app import main 失败了,是的。

您可以只导入 app Flask 对象,然后调用 run() 方法:

from app import app

app.run(host='0.0.0.0', port=8000)

并不是说您应该在生产部署中使用它。相反,您可以指示生产就绪的 WSGI 服务器使用 app 模块中的 app 对象作为 WSGI 应用程序。查看Flask deployment documentation .

关于python - 你如何用cython编译一个 flask 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50932527/

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