Distribution-Choice
推薦用於統計的 Linux 發行版?
鑑於R、Python和許多其他用於統計的開源庫在 Linux 中的支持比 Windows/OSX 更好(想到 rPy),我覺得奇怪的是以前沒有人問過這個問題。所以我現在這樣做:
從事統計/數據分析/機器學習的人喜歡/推薦什麼 Linux 發行版?
PS:我覺得有點尷尬,因為通過使用 Python 和 R 的內置包管理,理論上我應該不會遇到與基本系統的任何衝突。:P
我認為您會發現引擎蓋下的發行版無關緊要。特別是如果您使用 R 和 Python。
通常人們使用virtualenv或virtualenvwrapper管理自己的 Python 版本,並將他們想要的各種包安裝到其中,而不是嘗試與發行版的 Python 共存。
現在大多數程式語言(如 Perl、Python、Ruby 和 R)都提供了這個管理層。Ruby 有
rvm
,Perl 有perlbrew
,R 有Renv。此外,它們提供了自己的包管理層,用於系統地安裝各種庫和工具,因此發行版對於這些類型的工具實際上並不重要。
例子
現在在我的筆記型電腦上,我安裝了幾個版本的 Ruby:
$ rvm list rvm rubies ruby-1.9.2-head [ x86_64 ] jruby-1.5.6 [ amd64-java ] ruby-1.9.2-p290 [ x86_64 ] => ruby-1.9.2-p180 [ x86_64 ] ree-1.8.7-2011.03 [ x86_64 ]
我目前設置為使用 ruby-1.9.2-p290:
$ which ruby ~/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
這個版本還安裝了幾個 gem(庫):
$ gem list|head -10 abstract (1.0.0) actionmailer (3.0.10, 3.0.5) actionpack (3.0.10, 3.0.5) activemodel (3.0.10, 3.0.5) activerecord (3.0.10, 3.0.5) activeresource (3.0.10, 3.0.5) activesupport (3.0.10, 3.0.5) akami (1.2.0) albino (1.3.3) anemone (0.7.2)
大多數管理層提供與此相同的功能。例如
perlbrew
:$ perlbrew list local (5.14.0) * perl-5.14.0 $ which perl ~/apps/perl5/perlbrew/perls/perl-5.14.0/bin/perl
Python 和 R 也不例外。以這種方式管理環境的優點是我的安裝都維護在我的主目錄中,因此我可以將它們從一台機器移動到另一台機器,並將它們與我的工作一起保存,而不是浪費我的時間來管理這些資源的發行版本身。