Python科学计算、建模的环境选择

一、为什么我们要选用Python进行建模


目前做科学计算,主要使用MATLAB, R语言, Python 这三种语言。

首先讲MATLAB,确实好用,但是呢……

  1. MATLAB是一款价格不菲的商用软件(什么,你说可以用盗版,盗版MATLAB最多自己学习的时候玩玩,你用盗版MATLAB工作或者搞学术试试);
  2. 其次,MATLAB语言虽算不上难学,也真的没有达到简单易懂的程度;
  3. 最后,MATLAB主要专注于工程和科学计算,领域有限,在工作中经常遇到要处理文件管理、界面设计、网络通信这样五花八门的要求,MATLAB这时候就显得有点不够用了。

其次呢,R语言,不知道小伙伴们用过没,我学过一点,并不深入。R语言据说是统计学家Ross Ihaka和Robert Gentlemen共同开发的,可以说是专门为数据处理而生的语言。曾经是学术界的主流,但是其地位正在被Python取代,主要是因为:

  1. R语言在处理大数据上的乏力,处理大数据时往往需要先用数据库把大数据转换成小数据;
  2. 速度上不够快,比不过Python,一些底层算法用C语言写完之后封装成Python包可以使Python处理数据的速度大大提升。

Python呢,下面罗列Python的优点(缺点就不讲了):

  1. 最重要的,易学、易读、易维护;
  2. 具备极其丰富的扩展库,很多开源的科学计算软件包都提供了Python接口,比如计算机视觉库OpenCV、三维可视化库VTK之类的,Python专门的科学计算库就更多了,比如说我们之前的文章中提到的NumPy,matplotlib和SciPy(这个好像暂时还没用过)还有Pandas和scikit-learn这样功能强大库可供使用。
  3. 作为一门被广泛应用的语言,Python可以实现科学计算所需要的各种附加功能,自由度极高。

二、Python2还是Python3


这个问题仁者见仁,看习惯吧,我个人用的Python3.4.4,我喜欢用最新版的前一版,同时具备新功能和对旧版本的兼容性。现在大部分常用的第三库都已经支持Python3了,像NumPy、SciPy、matplotlib、Cython、Pandas、OpenCV和Spyder等。但是少量库还没有移植过来,像Traits、TVTK和Mayavi这样的。

三、选择什么样的工具


  1. Anaconda

这个软件我在公司的一台32位XP系统中没有装成功,试了几次之后放弃了。
我用的是Windows

Anaconda安装时,你可选择修改PATH环境变量和注册表,这样就可以在命令行中使用conda命令来管理扩展库了。
有这么几个常用命令:
conda list ->列出所有的扩展库
conda update 扩展库名 ->升级扩展库
conda install 扩展库名 ->安装扩展库
conda search 模板 ->搜索符合模板的扩展库

  1. WinPython或者Python(x,y)

这两个其实是同一个作者开发的,现有Python(x,y)然后有WinPython,我两个都试了一下,感觉WinPython用户友好度更高一点,安装简便,甚至可以装在U盘里面,便携性和兼容性都很好,推荐WinPython

WinPython扩展库的安装可以通过WinPython Control Panel 进行安装,操作起来很简单,就不介绍了。

  1. 其他

另外还有Enthought Canopy和Sage,这两个我没有用过,就不乱讲了,以后有时间试一下给大家出个详细的评测报告吧……

四、IDE选择


  1. Spyder

这个正是我现在在用的:

Spyder界面

它具有模仿MATLAB的工作空间的功能,可以很方便地观察和修改数组的值。显示哪些窗口可以自定义,很方便。

使用中出现了一些小问题,比如说str()函数报错,cmd prompt 乱码之类的,后来就没有用Spyder跑过比较长的代码了,调试起来太麻烦了,于是,我转向了PyCharm。

  1. PyCharm

这算一个非常强大的PythonIDE,功能十分强大,界面也挺好看的。不过就初学者而言,没有必要,功能多了反而迷眼。等以后要开发大型应用程序的时候再学也不迟。

我对比使用了一段时间之后发现这个确实好用,比Spyder省心多了。

偷来的PyCharm界面
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,436评论 6 428
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 3,783评论 1 61
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,612评论 4 418
  • 找 好 处 钱仁飞:负责、热心、有耐心、有责任感、原则性强、稳重、和气、...
    郑园园阅读 620评论 2 1
  • 彬彬说:“咱们俩玩捉迷藏吧?” 壮壮说:“行啊,我先藏,你找我。” 彬彬说:“行...
    蒹葭essay阅读 657评论 0 2