我是一位對Python知之甚少的.NET開發人員,但想給它一個我正在開發的小項目的測試驅動。如何在Linux上設置Python開發環境?
我應該在我的機器上安裝哪些工具和軟件包?我正在尋找一個共同的,有點全面的開發環境。
我可能會運行Ubuntu 9.10,但我很靈活。如果Windows是更好的選擇,那也沒關係。
編輯:爲了澄清,我沒有尋找最低限度獲得Python程序運行。我不希望新手.NET開發者使用記事本和編譯器。我推薦Visual Studio,NUnit,SQL Server等。
我是一位對Python知之甚少的.NET開發人員,但想給它一個我正在開發的小項目的測試驅動。如何在Linux上設置Python開發環境?
我應該在我的機器上安裝哪些工具和軟件包?我正在尋找一個共同的,有點全面的開發環境。
我可能會運行Ubuntu 9.10,但我很靈活。如果Windows是更好的選擇,那也沒關係。
編輯:爲了澄清,我沒有尋找最低限度獲得Python程序運行。我不希望新手.NET開發者使用記事本和編譯器。我推薦Visual Studio,NUnit,SQL Server等。
您的系統已經有Python。使用您選擇的文本編輯器或IDE;我喜歡vim。
我不能告訴你你需要什麼第三方模塊,而不知道你將要做什麼樣的開發。儘可能使用apt來獲取庫。
要發言,你的編輯:
這不是簡約,像給一個.NET新手記事本和編譯器:一個體面的文本編輯器和STDLIB是你真正需要的開出。您可能需要第三方庫來開發您正在編寫的任何類型的應用程序,但我想不出任何第三方模塊全部 Python程序員將真正需要或想要的。
解開.NET/Windows編程世界,沒有一套開發工具可以超越所有其他開發工具。不同的人使用不同的編輯器很多。在Python中,模塊名稱空間完全位於單個文件中,項目組織基於文件系統,所以人們不會依賴他們的IDE。不同的項目使用不同的版本控制軟件,這些軟件近來蓬勃發展。其中大多數比TFS更好,都比SourceSafe好1000倍。
當我想要一個交互式會話時,我使用了vanilla Python解釋器。存在各種更多花哨的解釋器:bpython,ipython,IDLE。 bpython是這些中最不喜歡的,並且應該對不做奇怪的東西感到滿意。 ipython和IDLE可能會導致奇怪的錯誤,其中在其中工作的代碼在普通Python中不起作用,反之亦然;我已經看到這與IDLE第一手。
對於一些你問的工具和其他一些
unittest
模塊。有各種第三方擴展和測試運行器,但unittest
應該適合你。
unittest2
,這是一個unittest
的2.7版本的backport。它整合了來自第三方工具的所有最好的東西,並且非常整齊。可能要添加一個註釋到'pip'來安裝第三方庫。 – Kimvais 2010-03-24 07:08:33
+1:「包含電池」。你需要的必須已經在標準安裝中。 – 2010-03-24 10:46:35
感謝您的額外信息!我意識到我可能不需要你提到的所有東西,但作爲Python社區的新手,知道哪些工具是常用的並且是非常有用的。 – 2010-03-24 12:46:27
Python(duh),setuptools或pip,virtualenv和一個編輯器。我建議geany,但那只是我。當然,還有其他任何你需要的Python模塊。
如果您啓動一個終端並鍵入python
,您將得到一個解釋器,您可以在其中開始嘗試。
以防萬一你沒有看到它,看看書潛入Python,是免費的在線。 http://www.diveintopython.org/
請按照本書中使用解釋器的示例進行操作。
爲了存儲你的工作,你可以使用任何編輯器; Vim或EMACS可能是最強大的,但也是最難學的。如果您想要更多「傳統」 IDE,您可以嘗試WingIDE。 http://www.wingware.com/
當你開始習慣使用python時,你應該嘗試一個增強的解釋器;請嘗試ipython
。 http://ipython.scipy.org/moin/
當您開始開發更嚴肅的項目時,您需要獲取更多模塊。在這裏你有兩個選擇; 1)使用你的發行工具來安裝額外的模塊;或2)直接從他們的網站下載您需要的模塊並手動安裝它們。當然你會負責升級它們。
你必須自己決定走哪條路。我個人更喜歡手動下載和安裝額外的模塊。
DIP目標2.3和3.x,這兩種版本都不適合今天的學習者;在2.3和2.6之間有相當大的變化,3.1並沒有得到足夠的支持,足以用來構建許多有用的程序。它也充滿了醜陋的例子和技術上不正確的說法。當有人將Python作爲第一語言學習時,我通常會推薦如何像計算機科學家一樣思考http://tinyurl.com/thinkcspy2e如果某人已經知道編程得當,例如,如果OP是C#的高級用戶,官方教程http://docs.python.org/tut/通常足以讓他們爲ipython運行 – 2010-03-24 02:17:10
+。我想讓它成爲我的殼:) – 2010-03-24 03:12:53
爲了減少影響/ hosing系統安裝python的機會,我通常在Ubuntu的python安裝上安裝virtualenv。然後,在我的主目錄中創建一個virtualenv,以便通過pip或easy_install安裝的後續軟件包不會影響系統安裝。我通過.bashrc
$ sudo apt-get install python-virtualenv
$ virtualenv --no-site-packages ~/local
$ PATH=~/local/bin:$PATH #<----- add this to .bashrc to make it permanent
$ easy_install virtualenv #<--- so that project environments are based off your local environment rather than the system, probably not necessary
從virtualenv中的bin添加到我的路徑安裝自己喜歡的編輯,我喜歡emacs + rope,但編輯是個人喜好,有很多的選擇。
當我開始一個新的項目/想法時,我爲該項目創建了一個新的虛擬環境,這樣我就不會在其他地方實現依賴關係。因爲我的一些項目因爲圖書館的升級而被打破,這個項目和新項目都依賴於這個項目。
~/projects $ virtualenv --no-site-packages my_new_project.env
~/projects/my_new_project.env $ source bin/activate
(my_new_project.env)~/projects/my_new_project.env $ easy_install paste ipython #whatever else I think I need
(my_new_project.env)~/projects/my_new_project.env $ emacs ./ & # start hacking
當創建一個新包...爲了有東西,這將是easy_installable/pippable使用paster create
(my_new_project.env)~/projects/my_new_project.env$ paster create new_package
(my_new_project.env)~/projects/my_new_project.env/new_package$ python setup.py develop new_package
這是常見的東西,只要我能想到的它。其他的一切都是編輯器/版本控制工具特定的
如果你剛剛開始使用Python,我實際上會反對將virtualenv
(我認爲它可能非常令人難以置信)的複雜性引入其中,至少直到你掌握了Python的基礎知識(特別是關於圖書館/依賴管理)。
如果您在使用Ubuntu和GNOME桌面環境,gedit
是默認(GUI)的文本編輯器,並具有很大的支持Python的內置的。所以,我的建議是開始預安裝了Python和gedit
(這是pretty extensible on its own)。
你可能想給NetBeans Python IDE一槍。您可以選擇使用Windows/Linux。
數據庫:sqlite(內置)。不過你可能需要SQLAlchemy。 GUI:tcl內置,但建議使用wxPython或pyQt。
IDE:我在Windows上使用空閒(內置),Mac上的TextMate,但是您可能會喜歡PyDev。我也聽說過有關ulipad的好消息。
數字:numpy。
快速聯機代碼:很多選項。我喜歡增強編織(scipy的一部分),但你可以看看ctypes(使用dll),Cython等。
Web服務器:太多的選項。 Django(加上Apache)是最大的。
單元測試:內置。
Pyparsing,只是因爲。
BeautifulSoup(或另一個好的HTML解析器)。
hg,git或其他一些不錯的VC。
Trac或其他錯誤系統。
哦,和StackOverflow如果您有任何問題。
你不需要太多。 Python附帶「包含電池」。「
的Visual Studio == IDLE。你已經擁有它。如果你想要更多的IDE般的環境,安裝科莫多編輯。
NUnit的== unittest
,你已經擁有它的標準庫。
的SQL Server == sqlite
。你已經擁有它的標準庫。
停止浪費時間讓一切準備就緒。它已經存在於基本的Python安裝。
開始工作。
Linux,BTW,是主要是一種開發環境。它由開發人員爲開發人員設計和構建。 Windows是一個最終用戶環境,必須對其進行補充才能進行開發。
Linux最初專注於開發人員。您需要的所有工具已經存在,或者是簡單的yum或RPM安裝的一部分。
前往Python從.NET世界
跳進Linux世界從.NET/Windows的背景可以是一個有點令人不安的(但我鼓勵你繼續努力,Linux)的
但我建議任何來自Windows的人,堅持一段時間的Windows。轉到www.Activestate.com並下載他們的Python軟件包 - 它包含了Mark Hammond完整的win32com擴展,它還包括一個完整的,快速的IDE「pythonwin」
我已經完成了真正的專業開發,窗口框 - 一個14MB .msi和你走吧!
現在要在DLR(動態公共語言運行庫)上使用Python,您需要下載IronPython。這是一個單獨的解釋器,最初也是由Mark Hammond在微軟編寫的,目前位於ironpython.org。
有了這個,你可以運行類似的代碼(來自維基百科)::
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")
現在,您可以用Python訪問任何.NET代碼。
您已經有了開發環境設置。只需在命令行輸入python即可。 – licorna 2010-03-24 01:33:16
.NET需要所有這些才能完成任務。 Python,不是那麼多。 – 2010-03-24 01:50:42
因此python devs不使用數據庫和web服務器? :) – 2010-03-24 01:54:27