什么Linux发行版更适合Python Web开发?

时间:2010-01-07 16:21:36

标签: python windows linux preferences

哪种Linux发行版更适合Python Web开发?

背景:

我目前在Windows上开发并且很好,但我希望将我的核心Python开发转移到Linux。我相信大多数发行版都能正常工作,但有没有人有理由相信一个发行版比另一个发行版更好?

9 个答案:

答案 0 :(得分:12)

大量分发无关紧要,因为Python几乎存在于所有Linux发行版中,并且在很大程度上自给自足。

如果您想专注于开发,我建议使用Ubuntu。 Ubuntu可以说是功能最齐全的“为用户准备”发行版之一,它使系统管理变得轻而易举,因此您可以专注于您想要解决的开发任务。

如果您的Linux环境是您的代码的目标(比如说RedHat或其他东西),那么请使用与您的目标环境匹配的桌面发行版(例如,Fedora for RedHat,Gentoo for Gentoo,Ubuntu for Ubuntu Server等。)

否则,所有这些都是合适的。

答案 1 :(得分:7)

你的发行版应该有Python 2.6。否则这是一个选择问题。

一条建议:永远不要以root身份安装任何东西(例如python setup.py install)。仅使用您的发行版软件包管理器安装内容,并以用户身份virtualenv安装其他软件包。

Ubuntu有一个virtualenv包,它甚至可以在不安装的情况下使用。

答案 2 :(得分: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网站。

答案 3 :(得分:0)

我使用RHEL并且非常高兴,因此我会说Fedora会好的。我在家里使用Debian,它很棒(虽然无头,所以没有网络)。

那就是说,我认为您应该根据公司使用的内容或任何非Python原因选择一个。我不认为你会发现Python工具可用性是任何Linux发行版的问题。

答案 4 :(得分:0)

大多数主要发行版都包含Python和Apache,因此它只是一个选择问题。如果你是Linux的新手,我建议使用Ubuntu或Fedora。两者都非常适合新用户,并且拥有出色的社区支持。

答案 5 :(得分:0)

正如其他答案到目前为止所提到的,Python 2.6解释器将在所有最新的Linux发行版中提供。这不应该影响你的选择。

但是,您选择的IDE可能会消除一些可能性。您应该确保您选择的发行版具有最新版IDE的软件包,并且它经常更新。

作为一个例子,我喜欢使用Eclipse和PyDev在任一操作系统中开发Python应用程序,但Ubuntu的官方存储库只有Eclipse 3.2(从2006年开始)到去年10月,当时他们最终在最新的发行版中更新到3.5

答案 6 :(得分:0)

我在Centos 5.4和Fedora 12上使用Python,我很高兴。

我还将Eclipse IDE用于python和其他语言而没有任何重大问题。

答案 7 :(得分:0)

任何桌面版本如Ubuntu,OpenSUSE,Fedora等都可以,但是如果你想拥有最新版本,我推荐使用ArchLinux。

答案 8 :(得分:0)

我想我记得有一段时间与Guido Van Rossum和他的核心团队python开发人员一起播客,其中一位核心python开发人员现在被Canonical用来处理ubuntu发行版的python集成。这就解释了为什么ubuntu与其他发行版相比是一个更加pythonic的发行版。

另一方面,gentoo linux发行版也在其Portage包管理系统中集成了python。所以gentoo和ubuntu我认为对python开发系统有好处,并且每个代表光谱的两端。