我是一位对Python知之甚少的.NET开发人员,但想给它一个我正在开发的小项目的测试驱动。如何在Linux上设置Python开发环境?
我应该在我的机器上安装哪些工具和软件包?我正在寻找一个共同的,有点全面的开发环境。
我可能会运行Ubuntu 9.10,但我很灵活。如果Windows是更好的选择,那也没关系。
编辑:为了澄清,我没有寻找最低限度获得Python程序运行。我不希望新手.NET开发者使用记事本和编译器。我推荐Visual Studio,NUnit,SQL Server等。
我是一位对Python知之甚少的.NET开发人员,但想给它一个我正在开发的小项目的测试驱动。如何在Linux上设置Python开发环境?
我应该在我的机器上安装哪些工具和软件包?我正在寻找一个共同的,有点全面的开发环境。
我可能会运行Ubuntu 9.10,但我很灵活。如果Windows是更好的选择,那也没关系。
编辑:为了澄清,我没有寻找最低限度获得Python程序运行。我不希望新手.NET开发者使用记事本和编译器。我推荐Visual Studio,NUnit,SQL Server等。
您的系统已经有Python。使用您选择的文本编辑器或IDE;我喜欢vim。
我不能告诉你你需要什么第三方模块,而不知道你将要做什么样的开发。尽可能使用apt来获取库。
要发言,你的编辑:
这不是简约,像给一个.NET新手记事本和编译器:一个体面的文本编辑器和STDLIB是你真正需要的开出。您可能需要第三方库来开发您正在编写的任何类型的应用程序,但我想不出任何第三方模块全部 Python程序员将真正需要或想要的。
解开.NET/Windows编程世界,没有一套开发工具可以超越所有其他开发工具。不同的人使用不同的编辑器很多。在Python中,模块名称空间完全位于单个文件中,项目组织基于文件系统,所以人们不会依赖他们的IDE。不同的项目使用不同的版本控制软件,这些软件近来蓬勃发展。其中大多数比TFS更好,都比SourceSafe好1000倍。
当我想要一个交互式会话时,我使用了vanilla Python解释器。存在各种更多花哨的解释器:bpython,ipython,IDLE。 bpython是这些中最不喜欢的,并且应该对不做奇怪的东西感到满意。 ipython和IDLE可能会导致奇怪的错误,其中在其中工作的代码在普通Python中不起作用,反之亦然;我已经看到这与IDLE第一手。
对于一些你问的工具和其他一些
unittest
模块。有各种第三方扩展和测试运行器,但unittest
应该适合你。
unittest2
,这是一个unittest
的2.7版本的backport。它整合了来自第三方工具的所有最好的东西,并且非常整齐。可能要添加一个注释到'pip'来安装第三方库。 – Kimvais 2010-03-24 07:08:33
+1:“包含电池”。你需要的必须已经在标准安装中。 – 2010-03-24 10:46:35
感谢您的额外信息!我意识到我可能不需要你提到的所有东西,但作为Python社区的新手,知道哪些工具是常用的并且是非常有用的。 – 2010-03-24 12:46:27
Python(duh),setuptools或pip,virtualenv和一个编辑器。我建议geany,但那只是我。当然,还有其他任何你需要的Python模块。
如果您启动一个终端并键入python
,您将得到一个解释器,您可以在其中开始尝试。
以防万一你没有看到它,看看书潜入Python,是免费的在线。 http://www.diveintopython.org/
请按照本书中使用解释器的示例进行操作。
为了存储你的工作,你可以使用任何编辑器; Vim或EMACS可能是最强大的,但也是最难学的。如果您想要更多“传统” IDE,您可以尝试WingIDE。 http://www.wingware.com/
当你开始习惯使用python时,你应该尝试一个增强的解释器;请尝试ipython
。 http://ipython.scipy.org/moin/
当您开始开发更严肃的项目时,您需要获取更多模块。在这里你有两个选择; 1)使用你的发行工具来安装额外的模块;或2)直接从他们的网站下载您需要的模块并手动安装它们。当然你会负责升级它们。
你必须自己决定走哪条路。我个人更喜欢手动下载和安装额外的模块。
DIP目标2.3和3.x,这两种版本都不适合今天的学习者;在2.3和2.6之间有相当大的变化,3.1并没有得到足够的支持,足以用来构建许多有用的程序。它也充满了丑陋的例子和技术上不正确的说法。当有人将Python作为第一语言学习时,我通常会推荐如何像计算机科学家一样思考http://tinyurl.com/thinkcspy2e如果某人已经知道编程得当,例如,如果OP是C#的高级用户,官方教程http://docs.python.org/tut/通常足以让他们为ipython运行 – 2010-03-24 02:17:10
+。我想让它成为我的壳:) – 2010-03-24 03:12:53
为了减少影响/ hosing系统安装python的机会,我通常在Ubuntu的python安装上安装virtualenv。然后,在我的主目录中创建一个virtualenv,以便通过pip或easy_install安装的后续软件包不会影响系统安装。我通过.bashrc
$ 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
从virtualenv中的bin添加到我的路径安装自己喜欢的编辑,我喜欢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
这是常见的东西,只要我能想到的它。其他的一切都是编辑器/版本控制工具特定的
如果你刚刚开始使用Python,我实际上会反对将virtualenv
(我认为它可能非常令人难以置信)的复杂性引入其中,至少直到你掌握了Python的基础知识(特别是关于图书馆/依赖管理)。
如果您在使用Ubuntu和GNOME桌面环境,gedit
是默认(GUI)的文本编辑器,并具有很大的支持Python的内置的。所以,我的建议是开始预安装了Python和gedit
(这是pretty extensible on its own)。
你可能想给NetBeans Python IDE一枪。您可以选择使用Windows/Linux。
数据库:sqlite(内置)。不过你可能需要SQLAlchemy。 GUI:tcl内置,但建议使用wxPython或pyQt。
IDE:我在Windows上使用空闲(内置),Mac上的TextMate,但是您可能会喜欢PyDev。我也听说过有关ulipad的好消息。
数字:numpy。
快速联机代码:很多选项。我喜欢增强编织(scipy的一部分),但你可以看看ctypes(使用dll),Cython等。
Web服务器:太多的选项。 Django(加上Apache)是最大的。
单元测试:内置。
Pyparsing,只是因为。
BeautifulSoup(或另一个好的HTML解析器)。
hg,git或其他一些不错的VC。
Trac或其他错误系统。
哦,和StackOverflow如果您有任何问题。
你不需要太多。 Python附带“包含电池”。“
的Visual Studio == IDLE。你已经拥有它。如果你想要更多的IDE般的环境,安装科莫多编辑。
NUnit的== unittest
,你已经拥有它的标准库。
的SQL Server == sqlite
。你已经拥有它的标准库。
停止浪费时间让一切准备就绪。它已经存在于基本的Python安装。
开始工作。
Linux,BTW,是主要是一种开发环境。它由开发人员为开发人员设计和构建。 Windows是一个最终用户环境,必须对其进行补充才能进行开发。
Linux最初专注于开发人员。您需要的所有工具已经存在,或者是简单的yum或RPM安装的一部分。
前往Python从.NET世界
跳进Linux世界从.NET/Windows的背景可以是一个有点令人不安的(但我鼓励你继续努力,Linux)的
但我建议任何来自Windows的人,坚持一段时间的Windows。转到www.Activestate.com并下载他们的Python软件包 - 它包含了Mark Hammond完整的win32com扩展,它还包括一个完整的,快速的IDE“pythonwin”
我已经完成了真正的专业开发,窗口框 - 一个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代码。
您已经有了开发环境设置。只需在命令行输入python即可。 – licorna 2010-03-24 01:33:16
.NET需要所有这些才能完成任务。 Python,不是那么多。 – 2010-03-24 01:50:42
因此python devs不使用数据库和web服务器? :) – 2010-03-24 01:54:27