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

PYTHON:一个领域一个库,并不需要 awesome-python

  •  2
     
  •   alexapollo ·
    geekan · 2015-06-25 18:01:26 +08:00 · 10271 次点击
    这是一个创建于 3443 天前的主题,其中的信息可能已经有所发展或是发生改变。

    awesome-python很全面,但有一些显见的弊端:
    1. 其中很多工程已经有四五年没有更新;
    2. 很多工程只有很少人关注,作者更新也并不活跃;
    3. coder在面临海量的工程中大多选择困难。

    于是现在有了这个雏形one-python:
    https://github.com/geekan/one-python

    希望能够在每个领域只用一个标的lib,能够帮助我们得到更高的开发效率。

    第 1 条附言  ·  2015-06-30 11:00:25 +08:00
    新增:
    * OCR工程pytesseract
    * 下载脚本集iScript
    32 条回复    2015-11-25 11:08:26 +08:00
    undef404
        1
    undef404  
       2015-06-25 18:08:06 +08:00   ❤️ 1
    这个必须点赞。
    下面我们来讨论下web框架用django还是web.py还是flask
    RIcter
        2
    RIcter  
       2015-06-25 18:10:14 +08:00   ❤️ 1
    @undef404 不要用 web.py
    下面我们来讨论下python用python2还是python3
    cosiner
        3
    cosiner  
       2015-06-25 18:12:06 +08:00
    太主观了,一个领域一个库,这个库是怎么选出来的
    chaucerling
        4
    chaucerling  
       2015-06-25 18:14:08 +08:00
    下面我们来讨论下用urllib2, urllib3还是requests
    staticor
        5
    staticor  
       2015-06-25 18:16:51 +08:00
    因为你很难对 "一个领域" 下出明确的定义.


    所以说如果一个大的领域里有不同项目而且分别侧重于不同的子领域, 也一样不能说只推荐A而完全放弃B吧.

    刻意的 "one" 反而是让一些进阶学习者少了些比较型学习的方法.
    aisk
        6
    aisk  
       2015-06-25 18:59:27 +08:00
    @chaucerling 没特殊需求的话显然是用 requests
    ray1980
        7
    ray1980  
       2015-06-25 19:07:33 +08:00
    kxxoling
        8
    kxxoling  
       2015-06-25 19:13:09 +08:00 via iPhone
    markdown 还是 markdown2 还是 mikasa? (¬д¬)
    janxin
        9
    janxin  
       2015-06-25 19:41:37 +08:00
    不先讨论一下Python2还是3怎么讨论库?
    bcxx
        10
    bcxx  
       2015-06-25 19:50:05 +08:00
    @ray1980 没人维护了,而且有些安全上的漏洞没修复
    unionx
        11
    unionx  
       2015-06-25 20:00:15 +08:00
    高性能是用pypy2还是pypy3还是numba还是cython还是numpy
    Jaylee
        12
    Jaylee  
       2015-06-25 22:02:04 +08:00
    泥萌真是垢了
    xiaket
        13
    xiaket  
       2015-06-25 22:08:12 +08:00
    @ray1980 web.py的代码风格完全让人不忍睹啊... 之前我们这儿培训新人的时候冲着名气推荐了这个框架, 后来凡是拿web.py写出来的作业都完全不想改.
    kyyych
        14
    kyyych  
       2015-06-25 22:08:15 +08:00
    赞 , 不用再去各种选择了, 直接采用业界最佳方案, 节省时间, 让开发者得了实惠再得实惠
    luobuda
        15
    luobuda  
       2015-06-25 22:23:23 +08:00
    编程不需要参考答案
    jjx
        16
    jjx  
       2015-06-25 23:16:51 +08:00
    加个 async networking twisted
    alexapollo
        17
    alexapollo  
    OP
       2015-06-26 00:30:52 +08:00   ❤️ 1
    @cosiner 先期我自己来选,综合V友们的意见,后期想做成投票类型。

    但不管如何,这个榜单随时间会一直变化。
    alexapollo
        18
    alexapollo  
    OP
       2015-06-26 00:31:57 +08:00
    @staticor 是的,所以有的领域可能会分的比较细,newspaper和dragnet就拥有不一样的特点,它们可能就会拆开来讲
    alexapollo
        19
    alexapollo  
    OP
       2015-06-26 00:34:28 +08:00
    @staticor 比较学习就用awesome-*吧, one的目的仅仅是为了让所有的coder “use it, no more compare”
    seki
        20
    seki  
       2015-06-26 00:37:03 +08:00
    其实也没有太多所谓的选择难题,搜一搜问一问试一试就有方向了

    离开需求谈最优没什么意义,如果你们的这些一个是最优的话,早就没有人用别的包,也就谈不上需要一个的问题了
    alexapollo
        21
    alexapollo  
    OP
       2015-06-26 00:45:49 +08:00
    @seki 并不是说只有一个最优。其实最想做的是一整套的解决方案,能够解决coder在使用开源工程时大部分抉择的难题,提供一个最优路径。
    alexapollo
        22
    alexapollo  
    OP
       2015-06-26 00:46:30 +08:00
    @jjx twisted的benchmark很低,专门和gevent对比过
    mathgl
        23
    mathgl  
       2015-06-26 01:58:10 +08:00
    @alexapollo 使用twisted作为海量设备连接后端处理超过3年,没觉得有什么特别差的地方。
    loading
        24
    loading  
       2015-06-26 07:34:56 +08:00 via Android
    我发现,名字里有 geek 的,水平其实都是入门级别的。
    alexapollo
        25
    alexapollo  
    OP
       2015-06-26 11:38:31 +08:00
    @mathgl http://nichol.as/benchmark-of-python-web-servers 这里有一些benchmark,不过有点老了
    你说的是用来handle长连接的吗?
    jjx
        26
    jjx  
       2015-06-26 12:54:28 +08:00
    @alexapollo

    不清楚你的benchmark , 同样对比 cyclone和tornado , cyclone表现要好一点, pypy加持下更是如此

    当然,我对twisted的感觉是稳定, 不过我对twisted的主要经验都是版本12后的
    mathgl
        27
    mathgl  
       2015-06-27 00:26:32 +08:00
    @alexapollo 你说的是这个benchmark啊,是很旧了,而且对twisted测试也不怎么公平。那个测试用的好像是twisted wsgi。那货是基于线程的,默认线程池只有10. 测试结果会很难看。

    如果是twisted.web or cyclone 会好很多。

    就我个人实际使用经验而言,twisted和gevent的差别没那么大,更多时候是风格喜好问题。如果你喜欢coroutine style那么gevent是好的选择。 如果喜欢callback, 或者是 yield style. twisted is good choice.
    alexapollo
        28
    alexapollo  
    OP
       2015-06-30 11:01:20 +08:00
    @mathgl 有道理。近期我试试再做下benchmark。
    alexapollo
        29
    alexapollo  
    OP
       2015-06-30 11:02:15 +08:00
    @jjx 同上。
    @mathgl 我蛮头疼callback hell的,不知道你有没有感觉到
    mathgl
        30
    mathgl  
       2015-07-01 19:12:43 +08:00 via Android
    @alexapollo twisted可以用 inlinecallbacks。不过这东西在文档居然没提到过,很是奇怪。
    leavic
        31
    leavic  
       2015-09-08 21:30:44 +08:00
    还是有点少,大部分我都知道。
    guyzyl
        32
    guyzyl  
       2015-11-25 11:08:26 +08:00
    一个领域三个库吧,不能垄断啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3584 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.