各位 v 友,入门 python 不久,目前习惯使用 windows 环境开发项目,团队同事大多数也是。现有个项目打算用 flask 实现并运行 api 服务提供给外部应用调用,查看资料发现,flask 自带的 wsgi 不推荐生产环境使用,官方推荐使用其他的 wsgi 服务器进行部署(如 gunicorn )。 现在想实现在 windows 下开发,可以使用 flask 默认 wsgi,生产环境可以用 gunicorn 运行。(要求:两种环境代码放在同个项目里),请问有什么方法可以实现?
1
xiexingjia 2019-05-20 15:58:38 +08:00
if __name__ == '__main__':
app.run() |
2
frostming 2019-05-20 16:34:24 +08:00
|
3
Root1997 2019-05-20 17:18:45 +08:00
win10 1903 有个 WSL2 的 linux 环境 windows 开发完直接在 wsl2 进行部署调试
|
4
fanjianhang OP @frostming 你好,请问有相关推文吗,谢谢
|
5
anthoy 2019-05-20 17:50:58 +08:00
docker for windows
|
6
luozic 2019-05-20 17:59:20 +08:00 via iPhone
用不用 docker 用上 docker 不用 上 wsl
|
7
fanjianhang OP |
8
Flasky 2019-05-20 23:24:54 +08:00 via Android
这个应该比较简单吧,开发环境靠 app.run()运行,而且 gunicorn 配置是很容易的了,写一个 shell 脚本,把你的 Application 复制过去,运行一下脚本就 ok 了
|
9
Qzier 2019-05-20 23:54:44 +08:00
难道 Windows 上开发和 Linux 上部署冲突?我反正是没遇到。
|
10
kosmgco 2019-05-21 00:09:42 +08:00 via iPhone
https://realpython.com/kickstarting-flask-on-ubuntu-setup-and-deployment/
看下这个,用 supervisor 守护 gunicorn 启动的 flask app |
11
Trim21 2019-05-21 05:28:59 +08:00 via Android
|
12
hp66722667 2019-05-21 08:44:24 +08:00
http://helloflask.com/ 这个应该可以帮助到你
|
13
Marsss 2019-05-21 08:47:52 +08:00
supervisor+nginx+gunicorn+flask
|
14
iweus 2019-05-21 08:59:24 +08:00
建个脚本跑一下就可以了 gunicorn -w 4 -b 127.0.0.1:8000 run:appx
|
15
JimmyTinsley 2019-05-21 09:26:59 +08:00
本机上开发环境直接 app.run(), 部署时用 gunicorn 跑呗. 可以大致参考下这个项目的做法 https://github.com/open-falcon/dashboard
|
16
fngtz 2019-05-21 15:52:48 +08:00 via iPhone
pycharm 有很方便的远程调试功能。
用 docker,去官方仓库能搜到别人写好的 image 来参考 /直接用,把代码挂载出来。 不用 docker 的话,systemd 来管理 gunicorn 也很方便。 总归是 pycharm 的方便,一键同步最方便。 |
17
fanjianhang OP 谢谢各位 v 友的热心帮助,我目前参照 @liujie333333 的方法进行尝试,加上有现成代码可供参考,谢谢大伙
|