我在 Python 3.6.3 中创建了一个项目,它有两个主要模块 -
现在在我的本地计算机上运行。我想通过 Flask 将其作为网站部署在Web服务器上。我知道我可以在我的main.py
中调用我的主要脚本即 Flask.py
(仅为了提示而创建)
Flask.py
from flask import Flask
import main # Main Python Script
app = Flask(__name__)
@app.route('/')
def my_script():
main.some_func()
........
.......
.......
.......
if __name__ == '__main__':
app.secret_key = 'super_secret_key'
app.debug = True
app.run(host='0.0.0.0', port=8000)
我浏览了一些链接,了解了Celery和This链接(这是针对Keras,我使用的是Tensorflow)这里给出了部署将模型作为 API 。
所以我很难弄清楚应该如何将我的项目部署为网站或API。
(我的结论可能不对)
任何人请告诉我如何处理这个问题。谢谢!
答案 0 :(得分:3)
一般来说:
您可以同时执行这两项操作:您可以在同一台计算机上运行WebServer AND API。只需将您的代理设置正确。 API调用也可以从您的服务器进行。 API有助于保持您的MVC架构的正确性。
如果您的API和WebServer之间存在一些不利影响(性能问题),您可以在以后使用单独的服务器。
API方法的最大缺点是性能下降,但是您仍然可以在WebServer中编写绕过它的脚本。
对于Keras,Tensorflow或任何AI实现,我强烈建议使用单独的服务器,因为这是资源密集型的(在培训时需要大量的GPU电源)和Web服务器更多的CPU饥饿(或多或少稳定负载)。 / p>
但在进入生产之前,通用方法仍然可行。