怎樣搭建基於 Python 的科學計算、數據處理環境?
如題,想使用基於python與其相關的科學計算及繪圖庫進行數據處理方向的研究,包括數據挖掘,機器學習方面,請問怎樣搭建一個比較全面的環境?我現在在摸索著使用enthought canopy express,可見的書籍有用python進行數據處理,但是該書的譯者一直強調最好搭建的環境與原書一致,可是這些包更新很快,翻譯又很滯後,基本上找不齊那些古老的包了,請教大神們的工作環境,最好是windows下的~
之前寫過Linux下面的:在 Linux 下安裝基於 Python 的機器學習編程環境 - 文本挖掘研究心得 - 知乎專欄
Windows下面的就簡單很多了:直接裝 pythonxy -
Scientific-oriented Python Distribution based on Qt and Spyder
其實,為什麼Windows下面簡單,因為Windows是個很弱的環境,使用久了,你會覺得不順手,因為 virtualenv 用著很彆扭,shell 工具也彆扭。而且 Python 本身就集成在 Linux 和 MacOS 中,你說吧,哪個更原生一些(當然了,Mac 下面的還是 homebrew好用)。
工作環境的話,你找一個順手的文本編輯器,Sublime Text 也好,Vim也好,這兩者都對 Python 支持很好,有很多包方便你寫代碼,而且編輯器本身就很優秀。
然後學會使用 ipython,這東西在社區的維護下越來越好用了。
github 或者 bitbucket,備份你的代碼。
至於其他的包,無非就是 Numpy,Scipy, Matplotlib, Scikit.learn, PIL 這些常用的包,然後再加上一些你自己要用到的包。
最後說一句,換 Linux 吧,保不齊哪天你自己瞎鼓搗把系統搞壞了,然後都要重裝,Linux 下面裝一個 virtualenv,隨便怎麼搞都沒事。
P.S. Enthought 和 Anaconda 就像你說的,更新包,或者安裝包很麻煩。而且,建議更新到包的最新版,Python 社區這麼活躍,每個包更新都會有新功能,說不定能省你好多行代碼,為什麼非要教條地看書呢,而且,書這個東西,不太適合學 Python,書從寫完,到印刷,到銷售,再到你手裡,那些包都說不定進化成什麼樣子了呢。自己去看文檔吧,有問題去 stackoverflow 問,比看書強。
然後,別提什麼英語看不懂,看不懂也要硬看。放棄了的話,就回去看中文書去好了,也就別抱怨滯後的問題了。自問自答~~
經過這麼長時間的發展,目前科學處理方面的Python環境已經有了完美的解決方法,那就是Anaconda,目前版本是2.3,囊括科學計算、數據處理、圖像處理、機器學習等等諸多最新的第三方Python包,以及ipython,Windows和Linux平台均支持,並且可以使用pyenv創建不同版本的相互獨立的環境,個人可以根據不同需求來選擇Python版本,主頁地址:https://www.continuum.io/
Ubuntu + Spyder + 需要用到的module(numpy pandas scikit-learn 等)
必須是anaconda
Anaconda+PycharmAnaconda對於包的管理非常棒,基本的科學計算的包都可以找到。
Pycharm是一款功能非常強大的IDE,安裝好後只要把解釋器指向Anaconda就可以了。在Pycharm下調試代碼,體驗不輸Matlab.
推薦閱讀:
※請問python theano中的shared variable是指什麼意思?
※Python 最重要的庫都有哪些?
※python有木有類似cplusplus cppreference 這種網站?
※Python 的庫函數里有沒有現成的全排列函數?
※怎樣從零開始用 Python 寫一個貪吃蛇?