2010-01-07 104 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开发系统很好,并且每个都代表这个频谱的两端。

相关问题