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

所以 Python 是并没有多少官方发布的轮子,对么?

  •  
  •   cevincheung ·
    cevin · 2017-09-22 14:38:01 +08:00 · 5723 次点击
    这是一个创建于 2652 天前的主题,其中的信息可能已经有所发展或是发生改变。

    折腾机器学习和大数据,最近看了看 python,有点疑问

    首先 Pypi 就是 PHP 的 Composer,NodeJS 的 npm, Java 的 Maven 对吧?

    其次是 Python 并没有多少官方自己发行维护的轮子 对吧?

    比如图像处理的一个包 https://pypi.python.org/pypi/magickwand/0.2

    哈?开发者: http://digitalarchitekt.de/ ?

    就是哪天心情不好就不维护了呗,有 bug 也没处找没处反馈?

    所以 Python 官方对一些 数学计算(好像有 math )、图像处理( PIL 是官方的吗?)、压缩包处理(好像有 ZIP ?)等一些其他包?(官方维护的或是对应的官方维护的,比如 mongodb 的 client 是 mongodb 自己维护的

    第 1 条附言  ·  2017-09-23 20:57:15 +08:00
    Soga
    40 条回复    2017-09-23 13:05:09 +08:00
    halfcoder
        1
    halfcoder  
       2017-09-22 15:47:35 +08:00
    neoblackcap
        2
    neoblackcap  
       2017-09-22 15:54:40 +08:00
    每个社区不是基本都是这样吗?
    cevincheung
        3
    cevincheung  
    OP
       2017-09-22 16:08:39 +08:00
    @neoblackcap #2

    图像处理像 PHP 有 gd (源码内嵌),java 有 ImageIO。python 没有(官方维护更新的)?
    高精度数学计算:PHP 有 BCMath (源码内嵌)。python 没有?(官方维护更新的)
    Zzzzzzzzz
        4
    Zzzzzzzzz  
       2017-09-22 16:13:16 +08:00
    btmath 一个是 python 默认特性的大数支持, 另一个相当于标准库的 decimal 模块

    php 很多类库一开始也不是官方的, 也是先进了 pecl 再合并进官方库的
    clino
        5
    clino  
       2017-09-22 16:14:50 +08:00
    Java 的 Maven 是不是只有二进制发布? pypi 除了发布还能查到信息吧
    Zzzzzzzzz
        6
    Zzzzzzzzz  
       2017-09-22 16:18:49 +08:00
    pypi 其实更类似于 php 原本官方的 pecl + pear 模式, 不过似乎说反了,只是 pear 从 php5 开始就没多少人用了, 后来才有了第三方维护的 composer.
    Bearless
        7
    Bearless  
       2017-09-22 16:21:08 +08:00 via iPhone
    ?额度人
    gclove
        8
    gclove  
       2017-09-22 16:23:43 +08:00
    。。 你完全不用担心这种问题

    既然是说轮子, 那就是自己也可以造的

    担心这种完全就是杞人忧天。

    python 本身就是支持大数计算的.

    php 一些原生函数也在 php 7 中发生了改变

    而且在 python 中, 你可以封装成一个个模块, 而不用担心, 到底是使用了哪个图像处理模块(库)
    ajeef
        9
    ajeef  
       2017-09-22 16:25:40 +08:00 via Android
    任何操作系统自带的东西,都是(遗产)最多的优势权,各家发行版,甚至嵌入式 Linux,都自带 python2
    8811
        10
    8811  
       2017-09-22 16:25:40 +08:00   ❤️ 1
    私以为,官方的轮子,反而质量未必好。。。
    carlclone
        11
    carlclone  
       2017-09-22 16:26:48 +08:00 via Android
    你是不知道大多数时候第三方比官方的好用吧,往更高级抽象了
    prasanta
        12
    prasanta  
       2017-09-22 16:38:28 +08:00 via iPhone
    那个开发者的简历风格真酷
    ma125125t
        13
    ma125125t  
       2017-09-22 16:49:50 +08:00
    @prasanta 我去,看了一下,真是酷啊。
    16500682
        14
    16500682  
       2017-09-22 17:02:29 +08:00 via Android
    @8811 对对,官方哪来那么多精力
    cevincheung
        15
    cevincheung  
    OP
       2017-09-22 17:08:55 +08:00
    @prasanta #12
    @ma125125t #13

    不要歪楼啊喂
    awanabe
        16
    awanabe  
       2017-09-22 17:38:14 +08:00
    @cevincheung
    pillow 图像
    numpy scipy 科学计算
    ? 这些不是么,算比较大的团体维护的.
    mingran
        17
    mingran  
       2017-09-22 17:41:14 +08:00
    爱用不用,不用去玩 matlab,90%的函数、语法都是 mathworks 做的
    RubyJack
        18
    RubyJack  
       2017-09-22 17:42:40 +08:00
    哪来的乡下人
    wuqiangroy
        19
    wuqiangroy  
       2017-09-22 18:01:58 +08:00
    @prasanta 看来你工作不饱和啊。
    cevincheung
        20
    cevincheung  
    OP
       2017-09-22 18:07:27 +08:00
    @gclove #8
    有没有什么是一开始第三方开发的后被并入到 python 中的?
    ylcc
        21
    ylcc  
       2017-09-22 18:19:41 +08:00
    @cevincheung #20 future
    EricCartman
        22
    EricCartman  
       2017-09-22 18:44:58 +08:00 via Android
    numpy, pandas 之类都成了事实标准了
    JerryCha
        23
    JerryCha  
       2017-09-22 18:49:36 +08:00 via iPhone   ❤️ 1
    C:什么是轮子?
    srlp
        24
    srlp  
       2017-09-22 19:23:45 +08:00 via iPhone
    没有多少官方包:对,没错。

    但是!

    别的不说,高精度数学计算 numpy scipy 已经成为事实标准,**所有** python 科学计算库都必然支持,完全不用怕突然不维护。

    画图的 matplotlib 也是事实标准了,尽管放心用。

    图像处理的话,常见的是 pillow opencv,也是很大的社区维护。

    机器学习基础包则有 scikit-learn,非常完善的社区。

    第三方合并的,有,比如说 future array mypy 等。

    实际上,python “官方”社区也是一个由各种人组成的社区而已……“万一作者不开心放弃维护了,怎么办?”换一个就是了,笑
    xierch
        25
    xierch  
       2017-09-22 21:17:43 +08:00
    那不是因为官方轮子都进了标准库么(
    neoblackcap
        26
    neoblackcap  
       2017-09-22 21:53:11 +08:00
    @cevincheung
    不是很明白你的意思,高精度计算,python 是有 decimal 模块来支持的。
    官方的东西又不见得是最好的,难道 php 的 http client 不是调用 libcurl ?又不是自己重新实现的。
    甚至官方不提供大多数功能的社区也有,但是你说的这些领域他更强,没错我说的就是 C++。
    C++标准里面提供的东西烧纸而又少,但是图形相关的库,大多数是用 C++写的。科学计算领域,C++也是很有优势的。
    那么我们如何解决这样一个可能作者弃坑的问题呢?学大公司,将开源库再封装,出事了就去找新的替换或者自己 fork 继续维护。在不添加新功能的情况下,一个模块的 bug 是可控的。这是常态,要求语言去解决全部这些问题并不现实。不要说语言,就是平台也帮不了你这么多啊。你说要支持高精度计算,我还想它支持多平台运行呢?不现实嘛
    congeec
        27
    congeec  
       2017-09-22 22:00:55 +08:00 via iPhone
    我还是对 python 社区代码质量挺满意的
    seki
        28
    seki  
       2017-09-22 22:10:37 +08:00
    python 不错了,你看隔壁 js 连标准库都不全

    开源就是这样子,作者没有坚持维护的义务,但是好用的东西一般都会有人接手下去
    NoAnyLove
        29
    NoAnyLove  
       2017-09-22 22:24:27 +08:00
    @neoblackcap 说到官方轮子少,我觉得不能不提 C,这个连基本的数据结构都木有啊。。。。。。
    est
        30
    est  
       2017-09-22 22:31:42 +08:00
    python 官方库有解析 wave 文件的。
    ech0x
        31
    ech0x  
       2017-09-22 22:38:52 +08:00 via iPhone
    我的记得 python 自带电池的电池被吐槽的多惨,现在又有人嫌弃标准库不够。。。风水轮流转啊😂
    PythonAnswer
        32
    PythonAnswer  
       2017-09-22 22:39:45 +08:00
    python 官方的标准库也是挺垃圾的, 很多都是网友贡献, 编码风格还没统一呢.

    哈哈, 但是 python 的库在这个世界上排前 3 没问题, 至少比有官方维护的.net 强.
    rogerchen
        33
    rogerchen  
       2017-09-22 23:06:19 +08:00 via iPad
    楼主是来钓鱼的还是开错号了,老手学东西不会先去搜一下最佳实践么。
    VinKing
        34
    VinKing  
       2017-09-23 00:03:08 +08:00   ❤️ 1
    先回答一下楼主的几个问题:
    “首先 Pypi 就是 PHP 的 Composer,NodeJS 的 npm, Java 的 Maven 对吧?”
    PHP 的我不了解,剩下的可以认为是比较类似的。但是不完全一样。
    “其次是 Python 并没有多少官方自己发行维护的轮子 对吧?”
    是的。
    “比如图像处理的一个包 https://pypi.python.org/pypi/magickwand/0.2
    哈?开发者: http://digitalarchitekt.de/ ?
    就是哪天心情不好就不维护了呗,有 bug 也没处找没处反馈?”
    是的。你可以联系开发者来反馈 bug。
    ”所以 Python 官方对一些 数学计算(好像有 math )、图像处理( PIL 是官方的吗?)、压缩包处理(好像有 ZIP ?)等一些其他包?(官方维护的或是对应的官方维护的,比如 mongodb 的 client 是 mongodb 自己维护的“
    Python 标准库是有对数学运算提供支持的。Mongo 是商业公司,所以会有一些 client 来由自身维护。这个跟 python 是不一样的。

    另外,我多说几句,谈我对这个问题的看法。
    1 对于编程语言的认知上,一般编程语言其实包含:语言规范,标准库,第三方包。很少有某个语言的官方组织会写第三方包(以个人的名义不算),顶多出一个最佳实践。因为语言可能的业务场景是无限的,不同的场景对语言的使用是不一样的。社区自然会产生适应不同场景的第三方包。这也是语言繁荣的一个因素。
    2 关于这个问题的表达上,更像是一个类似饭后闲聊的主题,因为真的很容易谷歌或者百度到。私以为社区的讨论应该是问一下有简明扼要的背景说明,有遇到的问题客观描述,然后大家一起来针对问题来集思广益。而不是在一个可以闲聊的话题上你一眼我一语。

    有说的不对的地方,各位多包涵。
    pepesii
        35
    pepesii  
       2017-09-23 00:06:09 +08:00
    是不是要说 xxx 是世界上最好的语言???
    为什么不根据应用场景选择语言呢??
    cevincheung
        36
    cevincheung  
    OP
       2017-09-23 00:32:32 +08:00
    @rogerchen #32
    cevincheung
        37
    cevincheung  
    OP
       2017-09-23 00:32:45 +08:00
    @VinKing #33 好吧,我好像想多了
    msg7086
        38
    msg7086  
       2017-09-23 05:36:52 +08:00
    官方哪天心情不好也可以不维护,你又没给人家工资,大家不都一样么。
    ipwx
        39
    ipwx  
       2017-09-23 09:44:19 +08:00
    楼主是钓鱼呢,还是真心门外汉呢?

    http://docs.python-guide.org/en/latest/#scenario-guide-for-python-applications

    这个里面基本列出来大部分高质量的准·标准库了。
    xiaoyao9933
        40
    xiaoyao9933  
       2017-09-23 13:05:09 +08:00
    .net 官方维护了一大堆 nuget。。结果呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1050 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 22:39 · PVG 06:39 · LAX 14:39 · JFK 17:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.