【问题标题】:How do I set up a Python development environment on Linux?如何在 Linux 上搭建 Python 开发环境?
【发布时间】:2011-01-31 01:54:48
【问题描述】:

我是一名 .NET 开发人员,对 Python 知之甚少,但想为我正在进行的一个小项目试一试。

我应该在我的机器上安装哪些工具和软件包?我正在寻找一个通用的、比较全面的开发环境。

我可能会运行 Ubuntu 9.10,但我很灵活。如果 Windows 是一个更好的选择,那也很好。

编辑:澄清一下,我并不是在寻找让 Python 程序运行的最低要求。我不希望新手 .NET 开发人员使用记事本和编译器。我推荐 Visual Studio、NUnit、SQL Server 等。

【问题讨论】:

  • 您已经设置好了开发环境。只需在命令行输入python即可。
  • .NET 需要所有这些才能完成工作。 Python,没那么多。
  • 所以 python 开发者不使用数据库和网络服务器? :)
  • “所以 python 开发人员不使用数据库和 Web 服务器?:)” - 编程比 CRUD Web 应用程序要多得多。我从不编写 GUI,Web 和数据库编程绝对是我工作的一小部分。
  • .NET 需要很多东西,因为微软可以卖给你东西。 Python(和大多数开源工具)不需要很多东西,因为没有人可以卖给你东西。请记住,直到几年前,IDE 还不存在,然而,软件已经被编写出来了。尝试将“大环境”、“昂贵的工具”和“复杂的东西”视为营销策略,而不是必需品。

标签: python programming-languages development-environment


【解决方案1】:

Pycharm Community值得一试。

【讨论】:

    【解决方案2】:

    从 .NET 世界进入 Python

    从 .NET / WINdows 背景跳入 Linux 世界可能有点令人不安(但我鼓励你继续尝试 Linux)

    但我建议任何来自 Windows 的人都坚持使用 Windows 一段时间。转到 www.Activestate.com 并下载他们的 Python 包 - 它包括 Mark Hammond 的完整 win32com 扩展,还包括一个完整、快速的 IDE“pythonwin”

    我已经完成了真正的专业开发,仅此设置就在 Windows 盒子上 - 一个 14MB .msi 就可以了!

    现在要在 DLR(动态公共语言运行时)上使用 Python,您需要下载 IronPython。这是一个单独的解释器,最初也是由 Microsoft 的 Mark Hammond 编写的,位于 ironpython.org。

    有了这个,你可以运行类似(来自维基百科)的代码::

    import clr
    clr.AddReference("System.Windows.Forms")
    from System.Windows.Forms import MessageBox
    MessageBox.Show("Hello World")
    

    现在您可以从 python 访问任何 .NET 代码。

    【讨论】:

      【解决方案3】:

      你不需要太多。 Python 附带“包含电池”。

      Visual Studio == 空闲。你已经有了。如果您想要更多类似 IDE 的环境,请安装 Komodo Edit。

      NUnit == unittest。您已经在标准库中拥有它。

      SQL Server == sqlite。您已经在标准库中拥有它。

      不要再浪费时间准备好一切了。它已经存在于基本的 Python 安装中。

      开始工作。

      Linux,顺便说一句,主要是一个开发环境。它是由开发人员为开发人员设计和构建的。 Windows 是一个最终用户环境,必须对其进行补充才能进行开发。

      Linux 最初专注于开发人员。您需要的所有工具要么已经存在,要么是简单 yum 或 RPM 安装的一部分。

      【讨论】:

        【解决方案4】:

        数据库:sqlite(内置)。不过,您可能需要 SQLAlchemy。

        GUI:tcl 是内置的,但推荐使用 wxPython 或 pyQt。

        IDE:我在 Windows 上使用空闲(内置),在 Mac 上使用 TextMate,但您可能喜欢 PyDev。我也听说过有关 ulipad 的好消息。

        数字:numpy。

        快速内联代码:很多选项。我喜欢 boost weave(scipy 的一部分),但您可以查看 ctypes(使用 dll)、Cython 等。

        Web 服务器:选项太多。 Django(加上 Apache)是最大的。

        单元测试:内置。

        Pyparsing,只是因为。

        BeautifulSoup(或其他好的 HTML 解析器)。

        hg、git 或其他一些不错的 VC。

        Trac 或其他错误系统。

        哦,如果您有任何问题,还有 StackOverflow。

        【讨论】:

          【解决方案5】:

          您可能想试一试NetBeans Python IDE。您可以选择使用 Windows/Linux。

          【讨论】:

            【解决方案6】:

            如果您刚开始使用 Python,我实际上反对引入 virtualenv 的复杂性(我认为这可能会让人不知所措),至少在您牢牢掌握 Python 基础知识之前(尤其是关于库/依赖管理)。

            如果您使用的是 Ubuntu 和 Gnome 桌面环境,gedit 是默认 (gui) 文本编辑器,并且对内置 Python 有很好的支持。所以我的建议是从预安装的 Python 和@开始987654324@(即pretty extensible on its own)。

            【讨论】:

              【解决方案7】:

              为了减少影响/占用python系统安装的机会,我通常在ubuntu python安装上安装virtualenv。然后我在我的主目录中创建一个 virtualenv,以便我通过 pip 或 easy_install 安装的后续包不会影响系统安装。然后我通过.bashrc将那个virtualenv中的bin添加到我的路径中

              $ sudo apt-get install python-virtualenv
              $ virtualenv --no-site-packages ~/local
              $ PATH=~/local/bin:$PATH #<----- add this to .bashrc to make it permanent
              $ easy_install virtualenv #<--- so that project environments are based off your local environment rather than the system, probably not necessary
              

              安装你喜欢的编辑器,我喜欢emacs + rope,但编辑器是个人喜好,有很多选择。

              当我开始一个新项目/想法时,我会为该项目创建一个新的虚拟环境,这样我就不会影响其他任何地方的依赖关系。因为我不希望我的一些项目由于该项目和新项目所依赖的库的升级而中断。

              ~/projects $ virtualenv --no-site-packages my_new_project.env
              ~/projects/my_new_project.env $ source bin/activate
              (my_new_project.env)~/projects/my_new_project.env $ easy_install paste ipython #whatever else I think I need
              (my_new_project.env)~/projects/my_new_project.env $ emacs ./ & # start hacking
              

              当创建一个新包时...为了获得易于安装/pippable 的东西,请使用paster create

              (my_new_project.env)~/projects/my_new_project.env$ paster create new_package
              (my_new_project.env)~/projects/my_new_project.env/new_package$ python setup.py develop new_package
              

              据我所知,这是常见的东西。其他一切都是特定于编辑器/版本控制工具的

              【讨论】:

                【解决方案8】:

                您的系统上已经有 Python。使用您选择的文本编辑器或 IDE;我喜欢vim。

                如果不知道您将进行什么样的开发,我无法告诉您您需要哪些第三方模块。尽可能多地使用 apt 来获取库。


                与您的编辑对话:

                这不是极简的,就像交给一个 .NET 新手记事本和一个编译器:一个像样的文本编辑器和 stdlib 是你真正需要的开始。您可能需要第三方库来开发您正在编写的任何类型的应用程序,但我想不出任何 Python 程序员真正需要或想要的任何第三方模块所有

                与 .NET/Windows 编程世界不同,没有哪一套开发工具能胜过所有其他工具。不同的人经常使用不同的编辑器。在 Python 中,模块命名空间完全位于单个文件中,项目组织基于文件系统,因此人们不会那么依赖他们的 IDE。不同的项目使用不同的版本控制软件,最近以新面孔蓬勃发展。其中大部分都比 TFS 好,而且都比 SourceSafe 好 1000 倍。

                当我想要一个交互式会话时,我使用 vanilla Python 解释器。存在各种更花哨的解释器:bpython、ipython、IDLE。 bpython 是其中最不花哨的,并且应该擅长不做奇怪的事情。 ipython 和 IDLE 可能会导致奇怪的错误,其中可以在其中工作的代码在普通 Python 中不起作用,反之亦然;我在 IDLE 中亲眼目睹了这一点。

                关于您询问的一些工具和其他一些工具

                • 在 .NET 中,您将使用 NUnit。在 Python 中,使用 stdlib unittest 模块。有各种第三方扩展和测试运行器,但unittest 应该适合你。
                  • 如果您真的想了解更多内容,请获取 unittest2,这是 unittest 的 2.7 版本的反向移植。它融合了第三方工具的所有精华,非常简洁。
                • 在 .NET 中,您将使用 SQL Server。在 Python 中,您可以使用 PostgreSQL、MySQL、sqlite 或其他一些数据库。 Python 为数据库指定了一个统一的 API,并且从一个到另一个的移植通常非常顺利。 sqlite 在标准库中。
                  • 有多种对象关系模型可以使数据库的使用更加抽象。 SQLAlchemy 是其中最引人注目的。
                • 如果你正在做网络编程,那就 Twisted。
                • 如果您正在做数值数学,请使用 numpy 和 scipy。
                • 如果您正在做 Web 开发,请选择一个框架。大约有 200000 个:Pylons、zope、Django、CherryPy、werkzeug ......我不会通过推荐一个来开始争论。其中大部分都可以通过快速设置与各种服务器一起使用。
                • 如果你想做 GUI 开发,有相当多的 Python 绑定。 stdlib 附带了我不会打扰的 Tk 绑定。有 wx 绑定 (wxpython)、GTK+ 绑定 (pygtk) 和两组 Qt 绑定。如果您想进行原生 Windows GUI 开发,请获取 IronPython 并在 .NET 中进行。有 win32 绑定,但它们会让你想直接使用它们。

                【讨论】:

                • 可能想在pip 添加注释以安装第 3 方库。
                • +1:“包括电池”。您需要的必须已经在标准安装中。
                • 感谢您提供更多信息!我知道我可能需要你提到的所有东西,但作为 Python 社区的新手,了解现有和常用的工具真的很有帮助。
                • @Rob Sobers:首先,去这里:docs.python.org/index.html。在图书馆下它说“把这个放在你的枕头下”。您需要的几乎所有东西都已经存在,并且已经记录在案。这个问题的答案假设你已经先看过了。
                【解决方案9】:

                由于我习惯了 Eclipse,我发现 Eclipse + PyDev 对于 Python 来说很方便。对于快速计算,Idle 非常棒。

                我在 Windows 和 Ubuntu 上都使用过 Python,Linux 更干净。

                【讨论】:

                • +1 表示 PyDev。这是一个很棒的 IDE,也很高兴为其他项目(例如 Java 和 Perl)留在单个 IDE 中。
                • 顺便说一句,您可能想查看 DreamPie (dreampie.sourceforge.net),而不是(或除了)空闲。我用的不多,但看起来很有趣。
                【解决方案10】:

                如果你启动一个终端并输入python,你会得到一个解释器,你可以在那里开始尝试。

                如果您还没有看过它,请查看深入了解 Python 一书,该书免费在线。 http://www.diveintopython.org/

                使用解释器按照书中的示例进行操作。

                为了存储您的作品,您可以使用任何编辑器; Vim 或 EMACS 可能是最强大的,但也是最难学习的。如果你想要一个更“传统”的 IDE,你可以试试 WingIDEhttp://www.wingware.com/

                在你开始熟悉 python 之后,你应该尝试一个增强的解释器;试试ipythonhttp://ipython.scipy.org/moin/

                当您开始开发一个更严肃的项目时,您需要获得额外的模块。在这里,您有两个选择; 1) 使用您的分发工具安装附加模块;或 2) 直接从他们的站点下载您需要的模块并手动安装。当然,您将负责升级它们。

                您必须自己决定走哪条路。我个人更喜欢手动下载和安装其他模块。

                【讨论】:

                • DIP 针对 2.3 和 3.x,这两个版本都不适合当今的学习者; 2.3 和 2.6 之间发生了相当大的变化,并且 3.1 没有得到足够好的支持来构建许多有用的程序。它也充满了丑陋的例子和技术上不正确的主张。当有人在学习 Python 作为第一语言时,我通常会推荐如何像计算机科学家一样思考 tinyurl.com/thinkcspy2e 如果有人已经知道如何编程,例如如果 OP 是 C# 的高级用户,官方教程 docs.python.org/tut 是通常足以让他们继续前进
                • + 用于 ipython。我想把它变成我的外壳:)
                【解决方案11】:

                Python (duh)、setuptools 或 pip、virtualenv 和一个编辑器。我建议geany,但这只是我。当然,您还需要任何其他 Python 模块。

                【讨论】:

                  猜你喜欢
                  • 2011-01-19
                  • 2022-01-13
                  • 2021-05-19
                  • 1970-01-01
                  • 2010-09-05
                  • 2011-04-07
                  • 2016-04-18
                  • 2011-05-11
                  • 1970-01-01
                  相关资源
                  最近更新 更多