2010-01-07 106 views
6

哪個linux發行版更適合Python web開發?什麼是Linux發行版更適合Python Web開發?

背景:

我目前開發在Windows和它的罰款,但我期待我的核心Python開發轉移到Linux。我相信大多數發行版都可以正常工作,但是有沒有人有理由相信發行版比另一款更好?

+3

我不這麼認爲。只要你不需要流血的邊緣,任何主流的發行版都可以。 – GabiMe 2010-01-07 16:23:23

回答

12

很大程度上分佈並不重要,因爲Python幾乎在所有Linux發行版中都是自給自足的。

如果你想專注於開發,我推薦Ubuntu。 Ubuntu可以說是功能最齊全的「準備用戶」發行版之一,可以使系統管理變得簡單易用,因此您可以專注於您想要解決的開發任務。

如果你有一個Linux環境是你的代碼的目標(比如說,RedHat或者其他),那麼你可以使用與你的目標環境相匹配的桌面發行版(例如Fedora for RedHat,Gentoo for Gentoo,Ubuntu對於Ubuntu服務器等)

否則,它們都適用。

+0

對於開發,我推薦Xubuntu(ubuntu和XFCE),它的「膨脹」要少得多,並且不會像以前那樣陷入困境。 – hasen 2010-01-07 16:34:31

+1

Ubuntu也非常喜歡python,並且擁有最新的python版本。 – 2010-01-07 17:35:33

+0

儘管當一個新的Python出來時,你必須等到下一個Ubuntu版本才能包含在系統中。這讓我瘋狂地等待Python 2.6。 – LeafStorm 2010-01-07 18:21:09

0

我使用RHEL並一直非常高興,所以從那以後我會說Fedora會沒事的。我在家裏使用Debian,它很棒(雖然沒有頭,所以沒有網站)。

也就是說,我認爲你應該根據你的公司使用什麼或者任何非Python原因選擇一個。我不認爲你會發現Python工具可用性是任何Linux發行版的問題。

7

你的發行版應該有Python 2.6。否則,這是一個選擇的問題。

一個建議:永遠不要安裝任何東西(例如,python setup.py install)。只安裝發行版的軟件包管理器,並使用virtualenv作爲用戶來安裝其他軟件包。

Ubuntu有一個virtualenv軟件包,它甚至可以在沒有安裝的情況下使用。

+0

+1提及virtualenv。它節省了很多麻煩。 – 2010-01-07 17:36:44

+0

感謝您的好建議 - virtualenv絕對是一個很好的做法。 – 2010-01-07 19:24:19

0

大多數主要的發行版都將包含Python和Apache,所以它只是一個選擇問題。如果你是Linux新手,我會建議Ubuntu或Fedora。兩者都適合新用戶,並且擁有出色的社區支持。

0

至於其他答案已經提到,到目前爲止,Python 2.6解釋器將可用於所有最新的Linux發行版。這不應該影響你的選擇。

但是,您選擇的IDE可能會消除一些可能性。您應該確保您選擇的發行版包含最新IDE版本的軟件包,並且它經常更新。例如,我喜歡使用Eclipse與PyDev在任一操作系統中開發Python應用程序,但Ubuntu的官方倉庫僅擁有Eclipse 3.2(從2006年)直到去年10月,當時他們最終更新到3.5分配。

0

我在Cento 5.4和Fedora 12上使用Python,我很高興。

我也使用Eclipse IDE for python和其他語言,沒有任何重大問題。

0

Ubuntu,OpenSUSE,Fedora等任何桌面發行版都可以,但如果您想要始終擁有最新版本,我推薦ArchLinux。

1

在最新的穩定版本的Python中使用發行版僅允許您使用這些版本測試代碼。今天,開發人員使用多個Python版本測試他們的代碼非常容易。

的Gentoo可能給你最大的靈活性,以安裝在一次多個版本的Python:

(2.5) 2.5.4-r4 
    (2.6) 2.6.6-r2 or 2.6.7-r2 
    (2.7) 2.7.2-r3 
    (3.1) 3.1.4-r3 
    (3.2) 3.2.2 

這並不讓你在某些舊版本是在基於Debian的系統很受歡迎,例如測試。

pythonbrew允許您在主目錄中編譯和安裝多個Python版本,不需要root權限。

感謝'tox',這是一個利用多個版本的Python快速測試您的代碼。默認情況下,tox會找到你的系統python,但是你可以設置你用pythonbrew構建的自定義解釋器。

以下是您可以與Jenkins一起使用的tox.ini,用於持續集成。有了這個設置,你可以安裝jenkins然後'su - jenkins',並使用pythonbrew來安裝你想測試的所有Python版本。

[tox] 
envlist = py267,py271,py272 

[testenv] 
#You may need to change this. Are your tests here? 
changedir=tests 

#You can also use nose, etc., see documentation 
deps=pytest 
commands=py.test --junitxml=junit-{envname}.xml 

[testenv:py272] 
basepython=/var/lib/jenkins/.pythonbrew/pythons/Python-2.7.2/bin/python2.7 

[testenv:py271] 
basepython=/var/lib/jenkins/.pythonbrew/pythons/Python-2.7.1/bin/python2.7 

[testenv:py267] 
basepython=/var/lib/jenkins/.pythonbrew/pythons/Python-2.6.7/bin/python2.6 

就是這麼簡單,使用哪個Linux發行版並不重要。

有關配置Jenkins的詳細信息,請參閱Tox網站。

+0

另外你可以很快地在多個版本之間切換,只需用'eselect python ...' – vanthome 2015-02-04 20:07:51

0

我想我記得Guido Van Rossum和他的核心團隊的python開發人員在當時的播客,其中一名核心python開發人員現在被Canonical聘用來照顧Ubuntu的發行版的python集成。所以這就解釋了爲什麼與其他發行版相比,ubuntu更像pythonic發行版。

另一方面,gentoo linux distro也在其Portage包管理系統中集成了python。所以gentoo和ubuntu我會說對python開發系統很好,並且每個都代表這個頻譜的兩端。

相關問題