如何在Linux上设置Python开发环境?

时间:2010-03-24 01:31:36

标签: python programming-languages development-environment

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

我应该在自己的机器上安装哪些工具和包?我正在寻找一个通用的,有点全面的开发环境。

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

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

11 个答案:

答案 0 :(得分:18)

您的系统上已有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在stdlib中。
    • 有各种对象关系模型可以使用更抽象的数据库。 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绑定,但它们会让你想要直接尝试使用它们。

答案 1 :(得分:6)

为了减少影响/调整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

创建新软件包时...为了拥有easy_installable / 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

就我所能想到的而言,这是常见的事情。其他一切都是编辑器/版本控制工具特定的

答案 2 :(得分:4)

由于我习惯使用Eclipse,因此我发现Eclipse + PyDev非常适合Python。为了快速计算,空闲很棒。

我在Windows和Ubuntu上使用过Python,Linux更清晰。

答案 3 :(得分:3)

如果您启动终端并输入python,您将获得一名口译员,您可以在那里开始尝试。

万一你还没有看过它,看看 Dive Into Python 这本书是免费的在线。 http://www.diveintopython.org/

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

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

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

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

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

答案 4 :(得分:2)

Python(duh),setuptools或pip,virtualenv和编辑器。我建议geany,但那只是我。当然,还有你需要的任何其他Python模块。

答案 5 :(得分:2)

从.NET世界中获取Python

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

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

我已经完成了真正的专业开发,仅在Windows机顶盒上安装了这个设置 - 一个14MB .msi,然后关闭!

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

使用此功能,您可以运行(来自维基百科)::

之类的代码
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")

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

答案 6 :(得分:1)

如果你刚刚开始使用Python,我实际上反对引入virtualenv的复杂性(我认为这可能非常压倒性),至少在你牢牢掌握之前Python基础知识(特别是关于库/依赖关系管理)。

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

答案 7 :(得分:1)

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

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

NUnit == unittest。您已在标准库中使用它。

SQL Server == sqlite。您已在标准库中使用它。

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

开始工作。

Linux,BTW, 主要是一个开发环境。它是由开发人员为开发人员设计和构建的。 Windows是最终用户环境,必须为开发提供补充。

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

答案 8 :(得分:0)

你可能想给NetBeans Python IDE一个机会。您可以选择使用Windows / Linux。

答案 9 :(得分:0)

数据库:sqlite(内置)。你可能想要SQLAlchemy。

GUI:tcl是内置的,但建议使用wxPython或pyQt。

IDE:我在Windows上使用idle(内置),在Mac上使用TextMate,但你可能喜欢PyDev。我也听过ulipad的好消息。

Numerics:numpy。

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

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

单元测试:内置。

Pyparsing,只是因为。

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

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

Trac,或其他错误系统。

哦,如果您有任何问题,可以使用StackOverflow。

答案 10 :(得分:0)

Pycharm Community 是值得尝试的。