您的位置:首页 > 编程语言 > Python开发

winpython, anaconda 哪个更好?

2015-11-18 18:41 537 查看
Python(x,y)和WinPython都是开源项目,其项目负责人都是Pierre Raybaut。按Pierre自己的说法是“WinPython不是试图取替Python(x,y),而是出于不同动机和理念:更灵活、易于维护、可移动、对操作系统侵略性更小,但是用户友好性更差、包更少、没有同Windows资源管理器集成。”。参考1里面说Python(x,y)不是很稳定,此外看它目前的更新不是很频繁,确实有可能Pierre后来的工作重心放在WinPython上了。

Canopy和Anaconda是公司推的,带免费版和商业版/插件。这两款发行版也牵扯到一个人,那就是Travis Oliphant。Travis是SciPy的原始作者,同时也是NumPy的贡献者。Travis在2008年以副总裁身份加入
Enthought,2012年以总裁的身份离开,创立了一个新公司continuum.io,并推出了Python的科学计算平台Anaconda。 Anaconda相对Canopy支持Python的版本更多,对Python新版本支持跟的很紧(Sage不支持Python3.x的理由是因为其依赖的SciPy还不支持Python3,而Anaconda却实现了支持Python3.3和3.4,这就说明问题了),此外其在Linux平台下(通过conda管理)安装更方便。

[原创]选择Python科学计算发行版

两者使用的是相同的界面--spyder。到底有什么区别呢,哪个更好一些?

添加评论

分享

按投票排序按时间排序


8 个回答

赞同21
反对,不会显示你的姓名



王Frank,天赋大多点在数据上/搞业务/写代码

张哲黄威康康 等人赞同

不请自来。本问题回答于2015年末,未来可能会出现个人不同意当前观点的状况。

种种迹象表明,从13-14年开始在科学计算领域使用Anaconda对于我确实是一个不错的选择。作为一个“科学计算发行版”,而不是一个专用于其他功能的发行版,我会给Anaconda 9分(满分10)

Pros:

1 Anaconda 作为科学计算/数据挖掘的工具效能让人满意。

我认为一些科学计算必要的工具在Anaconda中默认安装:

NumPy+SciPy的底层组合

Pandas对结构化/非结构化数据的转换以及灵活的处理

Statsmodels,Scikit-Learn、NetworkX等对于数据挖掘的支持在Anaconda里面是默认安装的

当然工作中我还会关注一些conda没有收录的可爱功能,这其中包括:

词云绘图工具wordcloud

社交网络挖掘的Louvain算法

gradient boosting工具xgboost

更多功能大家自己到github, bitbucket, sourceforge等都可以找到,就不赘述。

2 Anaconda 作为知识传导的工具令人满意。

在其他回答中我看到了有人提到ipython notebook无法正常工作,新手应该注意一下不要在***的同时使用这个功能,它的原理是本地开端口建立一个Server,在浏览器中可以打开ipynb文档,开启Python Kernel,执行代码以及写Markdown风格的文档。我从Ipython 2.x的版本一直用到4.0(已经更名为Jupyter),这个工具可以同时支持Python、Julia和R脚本的Notebook,实现图文码并茂的文档。它的好处就是,HTML可以置于服务器端,而notebook可以直接共享给他人或者放在github上。

当我提到绘图的时候,我的意思是bokeh。基于bokeh.js,你的静态图和动图都可以放在Ipython notebook里面或者使用bokeh-server写在服务器上。Python和JavaScript之间交换数据我没有感觉到丝毫的不适,而bokeh本身对于高等、低等图形元素的设计让人感觉恰到好处。作为一个Processing2和R ggplot2的前用户,上手bokeh花了大概1-2天。

(小广告:出于私心推荐Processing 3,现在支持Python。值得上手一玩)

图文码并茂的文档我私人观点认为,未来是一个大方向:一个200人的公司,下至你手底下的小卒,上至CEO,都会从文档中获取他们需要整合的信息。作为数据分析师,数据科学家这种有些容易被码工鄙视实干不足,又被运营嗤之以鼻不够业务敏感不接地气的岗位,用数据讲出你想讲出的李菊福的故事应该是基本功。

3 Anaconda的工具生态圈让我觉察到了它未来的布局或者说野心。

且不说Win/MacOS/Linux通吃,请看如下链接中的PDF链接 Learn more about Anaconda

Anaconda提出了数据科学生态圈的概念,我认为这是经过凝练浓缩之后的总结出来的一套方法论。

数据整合、探索、统计分析、挖掘、预测(见第一点)
数据的仪表板、故事板乃至BI工具(见第二点)
代码底层加速能力:合理利用CPU(blaze生态系统,Intel MKL)、GPU(CUDA JIT)、Spark
企业工具:本地部署的协作开发平台wakari、本地定制化部署的Hadoop Spark(已有docker)

结合方法论提供解决别人痛点的工具是虚幻的,所以Continuum Analytics自己也做数据、算法的咨询服务。我认为有一大批压根没有远见的、没有真正以数据为核心做数据科学的所谓大数据公司,他们是真正好用技术的怀疑论者,我向来是无视的。

Cons:

1 技术群里面很多小伙伴反馈说conda生态圈更新慢。一般会晚1-2个月,比如IPython 4.0或者说Python 3.5的整合。我希望有的是稳定、简单的版本,对更新的需求可以压抑一下。

2 有些本来可以免费找到的资源在Anaconda中收费,比如NumPy w/ Intel MKL。而且,个人无法负担本地部署的Wakari企业级协作开发产品和Hadoop Spark集群产品。如果你有兴趣可以写邮件quote之。

3 回头看到题主提到的Spyder我跟你说我强迫症又犯了。Spyder作为IDE提供的是类似Matlab或者RStudio的体验,Python作为开发语言,除了Ipython Notebook以外,我建议你从以下2个工具里2选1,这2个可都不是Anaconda自带的工具了。

PyCharm,JetBrains的精品,Win/MacOS/Linux全平台。不多解释了。
Sublime Text 3,编辑器里我用着挺顺手(代码风格检查、高亮、代码上传、多翻译器切换)

那些说Vim的,你过来咬我啊!

================================================================

作为一个Anaconda的收费产品使用者,我得承认在几乎所有的技术群里面我表现的都像官托。

管它呢!Life is short, no BB.

编辑于 2015-11-14 7
条评论 感谢

分享

收藏没有帮助

举报

禁止转载

赞同2
反对,不会显示你的姓名



peng
wang,用数据看世界

谢东平、知乎用户 赞同

Anaconda 和 winpython 都用过,Anaconda用得少些,windows下主要用winpython。

python如果不是做开发的话,相比spyder, 用ipython notebook是更好的选择.

有关两者的区别就我了解有如下几点:

1,我曾经让学生装Anaconda作为python课上的使用软件,但是不少同学安装都出现问题,最主要的就是ipython notebook用不了,而后改用winpython,出现问题的情况变少了。这发生在2013年,之后上课就统一用winpython了。

2,winpython脱胎于pythonxy,面向科学计算,兼顾数据分析与挖掘,;而Anaconda主要面向数据分析与挖掘方面,在大数据处理方面有自己特色的一些包, 据说在极大的矩阵运算方面速度很快。

3,winpython强调便携性,被做成绿色软件,不写入注册表,安装其实就是解压到某个文件夹,移动文件夹甚至放到U盘里在其他电脑上也能用。Anaconda则算是传统的软件模式。

4,winpython是由个人维护;Anaconda是由一家数据分析服务公司维护;这个区别意味着winpython在很多方面都从简,而Anaconda会提供一些人性化设置。

5,winpython 只能在windows上用,Anaconda则有linux的版本。

大致就这些,其实两个集成平台最大的区别还是其集成的软件包的区别,在windows下装python的包容易出问题,你需要哪些包,而其中一个有,那就选那个。

抛开软件包的差异,我个人推荐初学者用winpython,我觉得它似乎正因为其简单,问题也少点,由于便携性的特点系统坏了,重装后也能直接用。

最后一个建议,用python时间长了,最终还是会在linux下用的。windows下太缚手缚脚了。

编辑于 2015-11-07 1
条评论 感谢

分享

收藏没有帮助

举报

作者保留权利

赞同15
反对,不会显示你的姓名



Echo
Baker,一见误终生

lini li刘思明、知乎用户 等人赞同

用过两个软件后,我发现自己偏爱Anaconda啊!

大家都喜欢美观易用的User Interface,这样的话Anaconda是个不错的选择,界面漂亮,更方便管理那些Libraries,而且会对版本更新比较勤快。

其实说实话,我原来都是自己手动安装所有的Libraries的,从来不借助这些第三方软件,感觉这样比较Cool,可是经常会出现那些停留在Python2.x的Libraries,还要自己动手修改代码,才可以用,真是痛心疾首,后来找了很多的第三方,比如题主说的 (x,y)Python,Anaconda,还有Enthought,Winpython。后来综合考虑了,软件的美观程度,版本兼容性,更新频率,管理难易程度,我还是选择了Anaconda这条大水蟒。

一般堆代码也都是在Ipython Notebook里面完成的,很少去Spyder里面编辑,毕竟能少打开一个软件窗口就要节省一个窗口,而且整合在浏览器中的Ipython Notebook对代码每一步的测试很好用,命令行和批处理完美的融合在了一起,而且学会了Markdown语言后,整个就是一个笔记本,无论是图片,视频,数学公式,还是项目列表,表格,各种格式的文本都可以在一个ipnb文件里完成。是科学工作者和程序员的好笔记本,只有更爱它。

可以插入图片


可以插入网页


可以绘制表格


可以嵌入网络链接


可以直接绘图


可以编辑数学公式





编辑于 2015-11-15 8
条评论 感谢

分享

收藏没有帮助

举报

作者保留权利

赞同0
反对,不会显示你的姓名


知乎用户,Libeccio,来了

在 windows 下我推荐 anaconda,或者说其背后的 conda 包管理系统。它提供了和 pip 类似的管理功能并且有所增强(例如支持 env),并且,所有的包都是编译好的,不必像 pip 那样安装 numpy 和 scipy 时折腾许久。如果觉得默认包配置太累赘的话,完全可以下载 conda 最小包 miniconda (Miniconda
— Conda)来进行安装

编辑于 昨天 17:53 添加评论 感谢

分享

收藏没有帮助

举报

作者保留权利

赞同0
反对,不会显示你的姓名



朱彧

为了Mayavi用了enthought。

其实这些都差不多。不必太过纠结。

发布于 2015-01-18 1
条评论 感谢

分享

收藏没有帮助

举报

作者保留权利

赞同0
反对,不会显示你的姓名



Yupeng,金融数学PhD/
网球爱好者

JP Morgan和Credit Suisse用Anaconda,朋友告诉我Citi也是用那个。看看哪个你们行业用的广泛就用哪个呗~

发布于 2015-11-14 添加评论 感谢

分享

收藏没有帮助

举报

作者保留权利

赞同0
反对,不会显示你的姓名



Logic,蛤续
hash #

我的意思就是钦点Anaconda做你的终生伴侣。你问我支持不支持Anaconda,我是支持的,我就明确地告诉你们。你们啊,我感觉你们还需要学习一个,你们非常熟悉各个知名的IDE。

你们毕竟还是TOO flirting, 你们明白我的意思吗?我告诉你们,我是身经百战了,见的多了。Python的哪个IDE没有玩过?你们要知道,Anaconda比其他的高到不知道哪里去了,我和他谈笑风生。

Pyer啊,还是要提高自己的姿势水平,你识得唔识得啊?唉,我也替你们捉急啊!你们有一个好,全世界跑到什么地方都说VIM好,但回答的问题啊,还是TOO SIMPLE, Sometimes naive。懂了没有啊?

我今天就得罪你们一下

——————分割线——————

ANACONDA是你人生最佳伴侣!

自带你所需的所有安装包,不必再为win下配置而崩溃,pandas blaze numpy随手可得。notebook ipy jupyter三者合力, 你需要的话偶尔刷个spyder也是可以的。但哪儿有notebook刷起来好玩呢。你要全城开发,那我建议还是刷PyCharm好。

发布于 2015-11-14 添加评论 感谢

分享

收藏没有帮助

举报

作者保留权利

赞同0
反对,不会显示你的姓名


知乎用户,要挂科啦!!!

我是装的ubuntu虚拟机,谷歌前几天开源的TensorFlow就没windowds版的,而且windows的C环境也难搞,所以干脆把包都装到虚拟机上,然后pycharm远程调试。因为ubuntu下pycharm太丑又没钱买mac,不然早用ubuntu了,毕竟看脸的时代
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: