我是一名 .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/