Python 在本地运行生产Flask应用程序,无需复杂的web服务器

Python 在本地运行生产Flask应用程序,无需复杂的web服务器,python,flask,Python,Flask,我为一个朋友开发了一个小的网络应用程序。该朋友的电脑在使用该应用程序时不会连接到互联网,因此在Heroku上部署它不是一个选项 有没有一种方法可以在本地部署它,而不必安装复杂的web服务器?可以与应用程序一起打包的小东西?当您进入“生产”阶段时,似乎不鼓励使用内置的Flask服务器,但对于本地应用程序,它可以吗?如果您只是在本地运行应用程序,应该可以。dev服务器的主要问题是安全性和性能,但是对于一个不对外公开并且只有一个用户的应用程序,它应该可以正常工作。即使您正在使用dev服务器,关闭调试模

我为一个朋友开发了一个小的网络应用程序。该朋友的电脑在使用该应用程序时不会连接到互联网,因此在Heroku上部署它不是一个选项


有没有一种方法可以在本地部署它,而不必安装复杂的web服务器?可以与应用程序一起打包的小东西?当您进入“生产”阶段时,似乎不鼓励使用内置的Flask服务器,但对于本地应用程序,它可以吗?

如果您只是在本地运行应用程序,应该可以。dev服务器的主要问题是安全性和性能,但是对于一个不对外公开并且只有一个用户的应用程序,它应该可以正常工作。即使您正在使用dev服务器,关闭调试模式并启用多进程模式仍然是一个好主意

from multiprocessing import cpu_count
app.run(debug=False, processes=cpu_count())

如果你想要更多的性能,考虑使用UWSGI或GuniCon。两者都是很好的WSGI应用程序服务器,可以随应用程序一起安装pip

gunicorn -w $(nproc) --threads 2 --max-requests 10 myproject:app

如果它只是由一个人离线使用,那么是的,内部开发服务器可能就足够了

如果您正在寻找向她发送该应用程序的简单方法,请参阅:

将文件夹压缩到新的dist目录中并将其传递


如果pyinstaller不适合您,那么就有了。

如果不知道应用程序的功能,很难说开发服务器是否足够。它的局限性之一是它是单线程的。您的应用程序一次需要处理的不仅仅是进程吗?不,它是一个简单的zumba类管理应用程序。她将使用它来管理会员资格、会员“朋克卡”和注册课堂参与者。因为只有一个人在上面,所以不需要像mysql这样的数据库服务器。所以,现在只有Web服务器的必要性给我带来了问题;不幸的是,您只能将其中一个答案标记为已接受。选择你认为最有用的一个。:-)我来看看pyinstaller。我确实想知道如何包装它:)
pip install pyinstaller
pyinstaller your_app.py