V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
mortonnex
V2EX  ›  Python

大家对 Python 项目的部署有什么经验?

  •  
  •   mortonnex · 2016-04-26 12:23:17 +08:00 · 5606 次点击
    这是一个创建于 3140 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Python 项目 ---> Flask , Django , Tornado
    33 条回复    2016-04-27 22:56:45 +08:00
    pepesi
        1
    pepesi  
       2016-04-26 12:24:31 +08:00
    nginx + uwsgi google 一下,一大堆吧
    mashpolo
        2
    mashpolo  
       2016-04-26 12:25:37 +08:00
    gunicorn+supervisor,算简单的了
    mortonnex
        3
    mortonnex  
    OP
       2016-04-26 12:25:51 +08:00
    @pepesi maybe not that simple , 主要有哪些坑,可以分享
    bwangel
        4
    bwangel  
       2016-04-26 12:31:10 +08:00
    用 anaconda ,别用 virtualenv ,到时候直接把虚拟环境文件夹复制上去就好了, virtualenv 中, Python 依赖的底层 C++库都是放的一些软链接,不是真正的.so 文件!
    pepesi
        5
    pepesi  
       2016-04-26 12:31:20 +08:00
    @mortonnex 没有,我也是菜!但是遇到的问题 90%都能找到!
    bwangel
        6
    bwangel  
       2016-04-26 12:57:39 +08:00
    曾经在服务器上装 sklearn ,把 virtualenv 的文件夹复制上去后发现缺少 so 文件,然后重新从 requirements 中安装吧,结果服务器内存太小,编译 so 文件的时候 g++报内部错误,然后我又创建了一个 swap ,然后编译才通过。哎,说多了,都是泪啊!
    gamexg
        7
    gamexg  
       2016-04-26 12:58:01 +08:00 via Android
    之前不断出各种协议,现在烦了,直接 gunicorn ,标准 http 协议跑。
    clino
        8
    clino  
       2016-04-26 13:00:36 +08:00
    我用的是 nginx+uwsgi+supervisor+virtualenv
    我倒是还没碰到上面说的 virtualenv 的问题
    crazyxin1988
        9
    crazyxin1988  
       2016-04-26 13:04:20 +08:00
    supervisor+gunicorn+virtualenv
    gotounix
        10
    gotounix  
       2016-04-26 13:12:18 +08:00
    gunicorn+virtualenv+nginx ,楼主可以看卡 DO 的文档,很详细。
    mortonnex
        11
    mortonnex  
    OP
       2016-04-26 14:08:33 +08:00
    @gotounix 申请了一个 github student pack , 有个 DO 的 50 刀的优惠码 , 正在用 DO
    Patrick95
        12
    Patrick95  
       2016-04-26 14:09:56 +08:00
    去年试过 windows + apache + mod_wsgi + flask
    lxy
        13
    lxy  
       2016-04-26 14:12:47 +08:00
    还有 fabric
    scys
        14
    scys  
       2016-04-26 15:00:32 +08:00
    pyinstaller --onefile
    kinghui
        15
    kinghui  
       2016-04-26 15:14:36 +08:00
    为什么你们都直接拷 virtualenv, 难道我打开方式不对: pip install -U -r requirements.txt
    bwangel
        16
    bwangel  
       2016-04-26 16:01:24 +08:00
    @bwangel ,我刚刚给`virtualenv` 加上了--always-copy ,发现*.so 都拷贝过来了,好吧,自己打脸了!

    @kinghui ,额,国内服务器从 pypi 上下载速度并没那么快,而且遇上要编译 C++库的包,感觉拷更方便一点!
    Owenjia
        17
    Owenjia  
       2016-04-26 16:26:49 +08:00
    目前主要是 systemd + nginx + gunicorn ,其他的根据具体情况来选。
    ibigbug
        18
    ibigbug  
       2016-04-26 18:56:55 +08:00
    docker + uwsgi
    Shawdon
        19
    Shawdon  
       2016-04-26 19:12:28 +08:00
    @mortonnex DO 是啥?
    bdbai
        20
    bdbai  
       2016-04-26 19:31:50 +08:00 via Android
    @Shawdon Digital Ocean
    Shawdon
        21
    Shawdon  
       2016-04-26 19:39:05 +08:00
    @bdbai oh, thank u
    silencewwt
        22
    silencewwt  
       2016-04-26 19:51:37 +08:00
    @bwangel pip install 加上参数 -i https://pypi.mirrors.ustc.edu.cn/simple/ 可以使用中科大的 pypi 镜像 速度还是挺快的
    taozle
        23
    taozle  
       2016-04-26 20:07:03 +08:00
    可以用 buildout
    yubang
        24
    yubang  
       2016-04-26 21:24:22 +08:00
    一直用 shell + gunicorn 部署的路过
    Dadz
        25
    Dadz  
       2016-04-26 22:10:49 +08:00
    docker 飞起来
    fluyy
        26
    fluyy  
       2016-04-27 00:49:35 +08:00
    @kinghui 很多时候,是没有 pypi 可以用的,这样用还需要自己部署一个。而且部分包需要编译 C 扩展,有时候机器上也是编译不了的。。。反正都是泪。
    nj1987
        27
    nj1987  
       2016-04-27 01:34:18 +08:00 via Android
    cpu 密集型用 uwsgi 跑, io 密集型用 tornado 处理
    hayao650
        28
    hayao650  
       2016-04-27 10:01:59 +08:00
    nginx+gunicorn+supervisor
    hayao650
        29
    hayao650  
       2016-04-27 10:02:56 +08:00
    @gotounix DO 是什么鬼,老司机,求带路
    lee0100317
        30
    lee0100317  
       2016-04-27 10:33:33 +08:00
    @hayao650 digitalocean
    clino
        31
    clino  
       2016-04-27 10:44:10 +08:00 via Android
    @nj1987 io 密集型可以用 uwsgi+gevent
    secfun
        32
    secfun  
       2016-04-27 14:16:09 +08:00
    nginx+uwsgi+webapp
    自动化部署: fabric
    异常监控: sentry
    SmiteChow
        33
    SmiteChow  
       2016-04-27 22:56:45 +08:00
    独角兽值得信赖
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1763 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 16:33 · PVG 00:33 · LAX 08:33 · JFK 11:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.