2013-12-21 113 views
16

我目前使用R進行所有科學計算和繪圖,但我想探索Python。我一直在使用RStudio作爲R的IDE,它作爲IDE滿足了我對科學計算,數字計算,數據分析和可視化的需求。 Python有沒有類似的東西?基本上語法突出顯示,代碼完成,智能縮進,直接從源代碼編輯器執行代碼,在IDE中繪圖和版本控制(git)。哪個IDE用於Python中的科學計算和繪圖?

+4

這個問題很具體,我不認爲需要關閉。 – aIKid

+0

@aIKid它仍然歸結爲:「有人可以推薦替代這個*其他產品*」 –

+3

@JonClements它可能真的對未來其他人有用。反正可能沒有那麼多,我不認爲這會吸引廣告或垃圾郵件。 – aIKid

回答

20

我強烈建議你安裝一個完整的科學蟒蛇分佈,如AnacondaEnthought Python其中包含你所需要的科學(numpy的,SciPy的,matplotlib,numba,熊貓等)

進行科學計算的所有軟件包事實上的標準是使用IPython而不是python。它是一個改進的Python解釋器,電池包括(縮進,完成,歷史記錄,HPC等)。

對於你的IDE,類似Matlab,你基本上有一個選擇:Spyder(它作爲一個基本的git支持)。其他IDE是更好的,但他們缺乏檢查數據集的工具。 Spyder直接運行IPython會話,稍後可以使用其他工具編輯該會話。

另一個IPython筆記本(現在稱爲Jupyter),它是一個新的和非常強大的工具,特別是如果你想用Latex代碼記錄你的代碼。您的IPython會話是嵌入式的,可直接轉移給其他人,易於版本化。

您還可以在筆記本中直接運行交互式演示文稿,這是顯示結果的好方法。把它看作研究的未來,你的結果是互動的。任何可以下載筆記本的人都可以進行相同的實驗。

看一看的多個例子已經在那裏:

IPython notebook example

如果你不喜歡在瀏覽器中工作,我建議我的設置是:

請記住,所有的IPython的前端(IPython的控制檯,IPython的QtConsole,IPython的筆記本電腦, SublimeREPL等)可以連接到相同的IPython核心實例。因此,根據您的需要(編寫文檔,編寫科學材料,代碼,演示文稿),您可以同時輕鬆地混合不同的工具。

一個IPython的核心統治他們:-)

+1

能否詳細說明如何將不同工具連接到相同的IPython實例 - 具體來說,我想知道有關SublimeREPL – AdamAL

+0

瞭解如何將Vim和Tmux結合使用可以是另一種解決方案,如果您正在尋找一個IDE工作。 –

2

從任何支持IDE(實際上現在有很多IDE支持)的IDE開始,語法突出顯示,代碼完成,智能縮進,直接從源代碼編輯器執行代碼。如果您不確定請參考SO問題What IDE to use for Python?

  • 接下來,根據您的繪圖需求探索matplotlib
  • 接下來,你選擇了哪個IDE,搜索一個git插件。如果您選擇的IDE沒有,從IDE列表中選擇另一個具有必要的git插件的IDE。
  • 安裝Numpy/Scipy/Sympy等必需的軟件包。請參閱鏈接Numeric and Scientific

注意 Eclipse中PyDev可能工作考慮它有混帳(EGit)支持,您會有與整合matplotlib任何問題。事實上,還有另一個SO線程專用於Interactive matplotlib through Eclipse PyDev

最後,如果您想犧牲PyCharm或PyDev的開發容易度,Scientific Python可能是您的一個很好的選擇。

+0

@Kikohs:我從來沒有提到過Scipy作爲IDE。請重新閱讀答案。答案是用腳本授權用戶使用默認的Python安裝將任何體面的IDE用於科學計算。 – Abhijit

+0

你的最後一句話鏈接到www.scipy.org,我不清楚你提到整個Scipy stack而不是圖書館scipy。 – Kikohs

4

你可以嘗試Spyder這是多平臺的,易於使用,提供了語法着色,交互式調試等你仍然將依賴庫,如matplotlibNumPy,如果你正在處理非常大的數字集合,IDE本身可能不夠好。

還有其他類似的項目,如Python(x,y)WinPython(僅限Windows),它們試圖促進/促進Python在科學和工程軟件開發中的使用。

1

我懷疑這是一個重複(至少部分)thisthis的問題。到目前爲止,我被推薦爲IDLE,PyCharm,PHPStorm,Spyder,PyDev,Aptana,Wing,IPython和DreamPie。還沒有嘗試過,但Spyder相當不錯。總的來說,我發現Enthought Python Distribution是最好的,因爲它包含了Scipy,Numpy和其他已經包含的關鍵包,以及Spyder IDE。完整的包裝是商業(免費爲學者),但也有一個free distribution