哪个 Linux 发行版更适合 Python Web 开发?
背景:
我目前在 Windows 上开发,这很好,但我希望将我的核心 Python 开发转移到 Linux。我相信大多数发行版都可以正常工作,但是有没有人有理由相信一个发行版比另一个更好?
哪个 Linux 发行版更适合 Python Web 开发?
背景:
我目前在 Windows 上开发,这很好,但我希望将我的核心 Python 开发转移到 Linux。我相信大多数发行版都可以正常工作,但是有没有人有理由相信一个发行版比另一个更好?
很大程度上分布无关紧要,因为 Python 在几乎所有 Linux 发行版上都存在并且基本上是自给自足的。
如果你想专注于开发,我推荐 Ubuntu。Ubuntu 可以说是功能最齐全的“为用户准备就绪”的发行版之一,它使系统管理变得轻而易举,因此您可以专注于您想要解决的开发任务。
如果你有一个 Linux 环境是你的代码的目标(比如 RedHat 之类的),那么使用与你的目标环境匹配的桌面发行版(比如,RedHat 的 Fedora,Gentoo 的 Gentoo,Ubuntu Server 的 Ubuntu, ETC。)
否则,它们都是合适的。
你的发行版应该有 Python 2.6。否则,这是一个选择问题。
一个建议:永远不要以 root 身份安装任何东西(例如。python setup.py install
)。仅使用您的发行版的包管理器安装东西,并以用户身份使用virtualenv来安装其他包。
Ubuntu 有一个 virtualenv 包,它甚至可以在不安装的情况下使用。
使用具有最新稳定版 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 网站。
我使用 RHEL 并且非常开心,因此我会说 Fedora 会很好。我在家里使用 Debian,它很棒(虽然是无头的,所以那里没有网络)。
也就是说,我认为您可能应该根据您公司使用的内容或任何数量的非 Python 原因来选择一个。我认为您不会发现 Python 工具的可用性是任何 Linux 发行版的问题。
大多数主要发行版将包括 Python 和 Apache,因此这实际上只是一个选择问题。如果您是 Linux 新手,我建议您使用 Ubuntu 或 Fedora。两者都非常适合新用户,并具有出色的社区支持。
正如迄今为止其他答案所提到的,Python 2.6 解释器将在所有最近的 Linux 发行版上可用。这不应该影响你的选择。
但是,您选择的 IDE 可能会消除一些可能性。您应该确保您选择的发行版具有适用于您的 IDE 最新版本的软件包,并且它的更新频率足够高。
例如,我喜欢使用 Eclipse 和 PyDev 在任一操作系统中开发 Python 应用程序,但 Ubuntu 的官方存储库只有 Eclipse 3.2(从 2006 年开始),直到去年 10 月它们最终在最新发行版中更新到 3.5。
我在 Cento 5.4 和 Fedora 12 上使用 Python,我很高兴。
我还将 Eclipse IDE 用于 python 和其他语言,没有任何重大问题。
任何桌面发行版,如 Ubuntu、OpenSUSE、Fedora……都可以,但如果你想始终拥有最新版本,我推荐 ArchLinux。
我想我记得当年 Guido Van Rossum 和他的核心团队 python 开发人员的播客,其中一个核心 python 开发人员现在受雇于 Canonical 来处理 ubuntu 发行版的 python 集成。这就解释了为什么 ubuntu 与其他发行版相比是一个更加 Python 的发行版。
另一方面,gentoo linux 发行版也在其 Portage 包管理系统中集成了 python。所以我想说 gentoo 和 ubuntu 对 python 开发系统有好处,它们都代表了光谱的两端。