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
vicalloy
V2EX  ›  Python

大家的python web应用怎么打包发布,用setup.py

  •  
  •   vicalloy ·
    vicalloy · 2012-08-17 10:58:34 +08:00 · 5897 次点击
    这是一个创建于 4463 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天将我用Django写的博客系统发布到reddit (http://redd.it/yanrn)
    其中有人提到 “Not packaged properly”。
    不知道大家的python web项目是如何打包发布的。

    目前大多著名的python web应用都是通过setup.py作为一个标准的python包安装的(如:trac、以及django-cms等大多数Django项目)。
    实际上将web project作为标准python包发布,使用起来并不方便。
    比如trac,你必须安装trac的文档去初始化一个trac环境,然后才能进行后续的配置工作。
    如果是django项目,你必须自己创建一个project,然后按照文档修改配置。
    此外静态资源文件等默认安装到python的libs目录下,如果没有提供命令,要去将这些静态资源文件托管到nginx也很烦人。

    对其他语言的项目。
    + PHP自然是用源码方式安装。
    + ROR应用也是源码方式安装。

    python为啥啥都要用个setup.py,难道因为更pythonic?就我自己的体验,直接使用git更新和部署的体验明显比使用setup.py要来的好。
    4 条回复    1970-01-01 08:00:00 +08:00
    ratazzi
        1
    ratazzi  
       2012-08-17 12:21:17 +08:00
    配合 fabric supervisor
    bigeagle
        2
    bigeagle  
       2012-08-19 11:08:42 +08:00
    我也有此疑问
    reus
        3
    reus  
       2012-08-19 11:41:13 +08:00
    些新的php框架不也是用命令行来生成基础代码的么
    rails也是要init的
    vicalloy
        4
    vicalloy  
    OP
       2012-08-19 11:51:55 +08:00
    @reus 是指的部署。
    就如trac的安装部署 http://trac.edgewall.org/wiki/TracInstall#InstallingTrac
    主要步骤为:

    * pip easy_install Trac==1.0 #以标准包的方式进行安装
    * $ trac-admin /path/to/myproject initenv #安装后会有一个trac-admin命令。使用trac-admin命令创建一个trac环境(配置文件等)
    * 其他常规的部署工作

    我是觉得对于web应用而言,直接用源码方式部署就可以了。按照trac的做法,你必须提供一个类似trac-admin的命令来辅助生成基础的配置环境。而且你为了支持初始化出来的配置环境,代码方面也需要做调整。个人感觉这都不是很有必要的。
    此外对站点进行打包后,更新程序时还必须对python包进行重新打包安装,这点也不如git pull来的方便。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.