首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

开发基于 flask 的 api 服务应用,想在 windows10 环境下开发,生产使用 gunicorn 在 Linux 部署,怎么做

  •  
  •   fanjianhang · 153 天前 · 1957 次点击
    这是一个创建于 153 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位 v 友,入门 python 不久,目前习惯使用 windows 环境开发项目,团队同事大多数也是。现有个项目打算用 flask 实现并运行 api 服务提供给外部应用调用,查看资料发现,flask 自带的 wsgi 不推荐生产环境使用,官方推荐使用其他的 wsgi 服务器进行部署(如 gunicorn )。 现在想实现在 windows 下开发,可以使用 flask 默认 wsgi,生产环境可以用 gunicorn 运行。(要求:两种环境代码放在同个项目里),请问有什么方法可以实现?

    17 回复  |  直到 2019-05-22 11:21:12 +08:00
        1
    xiexingjia   153 天前
    if __name__ == '__main__':
    app.run()
        2
    frostming   153 天前
    app.run 官方不推荐了,推荐 flask cli
    开发环境:
    ```
    # 环境变量
    FLASK_ENV=development
    FLASK_APP=myapp:app

    flask run
    ```
        3
    Root1997   153 天前
    win10 1903 有个 WSL2 的 linux 环境 windows 开发完直接在 wsl2 进行部署调试
        4
    fanjianhang   153 天前 via Android
    @frostming 你好,请问有相关推文吗,谢谢
        5
    anthoy   153 天前
    docker for windows
        6
    luozic   153 天前 via iPhone
    用不用 docker 用上 docker 不用 上 wsl
        7
    fanjianhang   152 天前
    @anthoy
    @luozic 暂时没用 docker
        8
    Flasky   152 天前 via Android
    这个应该比较简单吧,开发环境靠 app.run()运行,而且 gunicorn 配置是很容易的了,写一个 shell 脚本,把你的 Application 复制过去,运行一下脚本就 ok 了
        9
    Qzier   152 天前
    难道 Windows 上开发和 Linux 上部署冲突?我反正是没遇到。
        10
    kosmgco   152 天前 via iPhone
    https://realpython.com/kickstarting-flask-on-ubuntu-setup-and-deployment/

    看下这个,用 supervisor 守护 gunicorn 启动的 flask app
        11
    Trim21   152 天前 via Android
    开发和部署用不同的命令启动服务器不就好了,在本地 python server.py 没必要在服务器上也一定是 python server.py 呀。
        12
    hp66722667   152 天前
    http://helloflask.com/ 这个应该可以帮助到你
        13
    Marsss   152 天前
    supervisor+nginx+gunicorn+flask
        14
    iweus   152 天前
    建个脚本跑一下就可以了 gunicorn -w 4 -b 127.0.0.1:8000 run:appx
        15
    JimmyTinsley   152 天前
    本机上开发环境直接 app.run(), 部署时用 gunicorn 跑呗. 可以大致参考下这个项目的做法 https://github.com/open-falcon/dashboard
        16
    fngtz   152 天前 via iPhone
    pycharm 有很方便的远程调试功能。

    用 docker,去官方仓库能搜到别人写好的 image 来参考 /直接用,把代码挂载出来。

    不用 docker 的话,systemd 来管理 gunicorn 也很方便。

    总归是 pycharm 的方便,一键同步最方便。
        17
    fanjianhang   151 天前
    谢谢各位 v 友的热心帮助,我目前参照 @liujie333333 的方法进行尝试,加上有现成代码可供参考,谢谢大伙
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2228 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
    ♥ Do have faith in what you're doing.