7

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

背景:

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

4

9 回答 9

13

很大程度上分布无关紧要,因为 Python 在几乎所有 Linux 发行版上都存在并且基本上是自给自足的。

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

如果你有一个 Linux 环境是你的代码的目标(比如 RedHat 之类的),那么使用与你的目标环境匹配的桌面发行版(比如,RedHat 的 Fedora,Gentoo 的 Gentoo,Ubuntu Server 的 Ubuntu, ETC。)

否则,它们都是合适的。

于 2010-01-07T16:24:47.970 回答
8

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

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

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

于 2010-01-07T16:27:51.790 回答
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 网站。

于 2012-02-21T22:21:13.860 回答
0

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

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

于 2010-01-07T16:25:53.770 回答
0

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

于 2010-01-07T16:31:10.533 回答
0

正如迄今为止其他答案所提到的,Python 2.6 解释器将在所有最近的 Linux 发行版上可用。这不应该影响你的选择。

但是,您选择的 IDE 可能会消除一些可能性。您应该确保您选择的发行版具有适用于您的 IDE 最新版本的软件包,并且它的更新频率足够高。

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

于 2010-01-07T17:17:47.703 回答
0

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

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

于 2010-06-04T15:05:19.777 回答
0

任何桌面发行版,如 Ubuntu、OpenSUSE、Fedora……都可以,但如果你想始终拥有最新版本,我推荐 ArchLinux。

于 2011-04-03T09:35:24.973 回答
0

我想我记得当年 Guido Van Rossum 和他的核心团队 python 开发人员的播客,其中一个核心 python 开发人员现在受雇于 Canonical 来处理 ubuntu 发行版的 python 集成。这就解释了为什么 ubuntu 与其他发行版相比是一个更加 Python 的发行版。

另一方面,gentoo linux 发行版也在其 Portage 包管理系统中集成了 python。所以我想说 gentoo 和 ubuntu 对 python 开发系统有好处,它们都代表了光谱的两端。

于 2015-02-04T17:27:28.627 回答