python - 如何在Linux上搭建Python开发环境?

标签 python programming-languages development-environment

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

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

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

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

最佳答案

您的系统已经安装了 Python。使用您选择的文本编辑器或 IDE;我喜欢维。

在不知道你要做什么样的开发的情况下,我不能告诉你你需要什么第三方模块。尽可能多地使用 apt 来获取库。


与您的编辑对话:

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

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

当我想要一个交互式 session 时,我使用普通的 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。
  • 如果您从事网络开发,请选择一个框架。大约有 200000 种:Pylons、zope、Django、CherryPy、werkzeug...我就不推荐一个了。其中大部分都可以通过快速设置愉快地与各种服务器一起工作。
  • 如果您想进行 GUI 开发,有很多 Python 绑定(bind)。 stdlib 附带了我不会打扰的 Tk 绑定(bind)。有 wx 绑定(bind) (wxpython)、GTK+ 绑定(bind) (pygtk) 和两组 Qt 绑定(bind)。如果您想进行 native Windows GUI 开发,请获取 IronPython 并在 .NET 中进行。有 win32 绑定(bind),但它们会让您想拼命尝试直接使用它们。

关于python - 如何在Linux上搭建Python开发环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504800/

相关文章:

Android-Maven 安装时无法执行目标 org.codehaus.mojoto

python - 我如何打印这 2 个字符串,一个在一行中,另一个在另一行中?

python - 不断更新python中的curses中的字符串

python - Django Rest Framework - 如何测试 ViewSet?

c - 使用 %of 代替时分配给变量的值

programming-languages - 向非程序员展示什么是编程 "looks like"的好例子是什么?

linux - 如何开始开发和调试Linux Kernel?

python - 使用Beautiful soup分析python中的表

Java源代码依赖关系图

development-environment - 最大化和多个显示器