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

请教pythoner们一个关于第三方包setup.py的问题。

  •  
  •   burgleaf · 2013-12-31 00:18:20 +08:00 · 3039 次点击
    这是一个创建于 3777 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是一名javaer,对于python一直处于半吊子的入门状态。

    我一直不能理解的是为什么在github看到的所有python源码都会有setup.py这个文件呢?要用这些代码的时候你们是不是都会把它们install 到python home目录的libs里面。要是往服务器部署的时候是不是也要重新在服务器的python目录里面install一遍,这样岂不是很麻烦?做个比较,java的项目是最终把所有的第三方jar包和自己的源码打包成一个war包部署就行,不用再在jdk上面再安装什么东西。
    8 条回复    1970-01-01 08:00:00 +08:00
    wolegequ
        1
    wolegequ  
       2013-12-31 05:25:21 +08:00 via Android
    install 之后,别的项目也可以用 jar的话需要每个项目都导入
    laomo
        2
    laomo  
       2013-12-31 07:51:05 +08:00 via Android
    也可以选择不安装的,源码直接放项目同目录下,注意层级关系,和import对应就行
    booksmith
        3
    booksmith  
       2013-12-31 08:24:29 +08:00
    这就跟java里的maven一样,写个pom.xml,如果你的jar包要共享使用的话
    arbipher
        4
    arbipher  
       2013-12-31 08:47:59 +08:00
    可以理解成java的包是依赖于项目的,而Python的包是依赖于环境的。所以会有virtualenv这种东西,保证每个项目跑在独立的环境中。
    wuxqing
        5
    wuxqing  
       2013-12-31 09:17:45 +08:00
    可以看看buildout
    arbipher
        6
    arbipher  
       2013-12-31 09:20:33 +08:00
    @wuxqing 想起来在PyCon上听到的“git buildout docker”一条龙。
    P.S. 以上通通不会。
    aurorawu
        7
    aurorawu  
       2013-12-31 10:12:16 +08:00
    code like a pythonista, not a pythoner.
    sandtears
        8
    sandtears  
       2013-12-31 14:01:46 +08:00
    setup.py主要是为了解决对第三方库的依赖问题,而用virtualenv也可以不让项目安装进真正的python home的libs
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   922 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:45 · PVG 02:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.