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

2017-09-22 14:38:01 +08:00
 cevincheung

折腾机器学习和大数据,最近看了看 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 自己维护的

5537 次点击
所在节点    Python
40 条回复
ylcc
2017-09-22 18:19:41 +08:00
@cevincheung #20 future
EricCartman
2017-09-22 18:44:58 +08:00
numpy, pandas 之类都成了事实标准了
JerryCha
2017-09-22 18:49:36 +08:00
C:什么是轮子?
srlp
2017-09-22 19:23:45 +08:00
没有多少官方包:对,没错。

但是!

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

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

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

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

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

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

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

哈哈, 但是 python 的库在这个世界上排前 3 没问题, 至少比有官方维护的.net 强.
rogerchen
2017-09-22 23:06:19 +08:00
楼主是来钓鱼的还是开错号了,老手学东西不会先去搜一下最佳实践么。
VinKing
2017-09-23 00:03:08 +08:00
先回答一下楼主的几个问题:
“首先 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
2017-09-23 00:06:09 +08:00
是不是要说 xxx 是世界上最好的语言???
为什么不根据应用场景选择语言呢??
cevincheung
2017-09-23 00:32:32 +08:00
@rogerchen #32
cevincheung
2017-09-23 00:32:45 +08:00
@VinKing #33 好吧,我好像想多了
msg7086
2017-09-23 05:36:52 +08:00
官方哪天心情不好也可以不维护,你又没给人家工资,大家不都一样么。
ipwx
2017-09-23 09:44:19 +08:00
楼主是钓鱼呢,还是真心门外汉呢?

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

这个里面基本列出来大部分高质量的准·标准库了。
xiaoyao9933
2017-09-23 13:05:09 +08:00
.net 官方维护了一大堆 nuget。。结果呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392835

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX