我需要一个初学者指南来设置python开发的窗口

时间:2009-06-06 11:08:51

标签: python windows development-environment

我目前只使用.NET,并希望能够使用python。为此,我需要建立一个python开发环境。我指导这个会很方便。我想我会做Web开发所以需要一个Web服务器,可能还需要一个数据库。我还需要指向流行的ORM,MVC框架和测试库。

我所有这一切的主要标准之一是我想了解它是如何工作的,我希望它尽可能地孤立。这很重要,因为我担心使用第三方Web和数据库服务器污染什么是有效的.NET环境。如果可能的话,我很高兴使用SQLite开始。

如果我对此很好,我也可能想要设置自动构建和ci服务器(在虚拟机上,可能是ubuntu)。对此有任何建议都很有用。

如果我喜欢python,我的最终目标是使用.NET提供的类似工具,并真正了解它的构建和部署。首先,我将寻求一个尽可能隔离的简单开发环境,如果我不喜欢它将很容易删除。我不想使用IronPython,因为我想要使用通常使用的工具和框架开发python解决方案的完整体验。

10 个答案:

答案 0 :(得分:5)

设置Python环境并不困难,而且我从来没有让它破坏我的.NET工作。基本上,安装Python ---我使用2.6而不是3.0,这还没有被广泛接受 - 并将它添加到你的PATH中,你已经准备好使用这种语言了。我不建议使用Ubuntu VM作为您的开发环境;如果你在Windows上工作,你也可以在Windows上进行开发,而且我没有遇到任何重大问题。我毫不费力地从Windows到Linux来回走动。

如果你有一个你很满意的编辑器,它对Python有基本的支持,我会坚持下去。如果没有,我发现Geany是一个很好,轻巧,易于使用的编辑器,具有良好的Python支持,但我自己使用Emacs因为我知道它;其他人喜欢SCITENotePad++或其他任何人。我会避免花哨的IDE用于Python,因为它们与语言的字符不匹配,我不会打扰IDLE(包含在Python中),因为这是一种使用它的王室痛苦。

对图书馆和框架的建议:

  • Django标准网络框架,但它很大,你必须以django的方式工作;我更喜欢CherryPy,它也得到了积极支持,但很轻松,给你很大的自由,并且包含一个漂亮,可靠的网络服务器,可以用httpd轻松替换。
  • Django包含自己的ORM,这很好;但是,有一个独立的Python版本,它甚至更好:SQL Alchemy
  • 就测试库而言,pyunit在我看来是显而易见的选择
祝你好运,欢迎使用非常有趣的语言!

编辑摘要:我最初建议Karrigell,但不能再这样了:自3.0发布以来,它一直被打破,社区不够大,无法解决问题。 CherryPy是一个很好的替代品,如果你喜欢一个不会​​妨碍你的轻松,简单的框架,那么我已经改变了上面的内容而不是建议它。

答案 1 :(得分:3)

好吧,如果您正在考虑设置一个Ubuntu VM,那么您也可以将其作为您的开发环境。然后,您可以通过标准打包工具(apt-get install)在该VM上安装Apache和MySQL或Postgres,并且不存在污染Windows环境的危险。

您可以通过您喜欢的IDE在Windows计算机上进行实际开发,将VM用作网络驱动器并将代码保存在那里,或者您可以将VM用作完整的桌面环境并在那里执行所有操作,是我推荐的。

答案 2 :(得分:3)

从activestate安装预先配置的ActivePython版本。 除了其他功能之外,它还包括PythonWin IDE(仅限Windows),可以轻松地以交互方式探索Python。

推荐参考文献是Dive Into Python,在类似的SO讨论中多次提及。

答案 3 :(得分:3)

你应该安装python 2.4,python 2.5,python 2.6和python 3.0,并在你的路径中添加你经常使用的那个(添加c:\ Pythonxx \和c:\ Pythonxx \ Scripts)。

对于每个python 2.x,安装easy_install;下载ez_setup.py,然后从cmd:

下载
c:\Python2x\python.exe x:\path\to\ez_setup.py
c:\Python2x\Scripts\easy_install virtualenv

然后,每次启动新项目时,都要创建一个新的虚拟环境,以隔离项目所需的特定包:

mkdir <project name>
cd <project name>
c:\Python2x\Scripts\virtualenv --no-site-packages .\v

它在.v \ Scripts和。\ v \ Lib中创建了python及其库的副本。您在该环境中安装的每个第三方软件包都将放入。\ v \ Lib \ site-packages。 -no-site-packages不允许访问全局站点包,因此您可以确保所有依赖项都在。\ v \ Lib \ site-packages中。

激活虚拟环境:

.\v\Scripts\activate

对于框架,有很多。 Django非常棒并且有很好的文档记录,但您应该首先查看Pylons的unicode,打包,部署和测试文档,以及更好的WSGI支持。

对于IDE,Python附带的IDLE足以学习,但您可能需要查看Eclipse + PyDev,Komodo或Wingware Python IDE。 Netbean 6.5对python的beta支持看起来很有希望(参见top 5 python IDE)。

对于网络服务器,您不需要任何; Python有自己的,所有的Web框架都有自己的。您可能想要安装MySql或ProgreSql;在用于生产的同一个数据库上进行开发通常会更好。

此外,当您学习了Python时,请查看Foundations of Agile Python DevelopmentExpert Python Programming

答案 4 :(得分:2)

答案 5 :(得分:2)

查看Pylons,了解WSGIPaste。 谷歌技术有关它们的很好的介绍:ReUsable Web Components with Python and Future Python Web Development

以下是我对类似问题的回答: Django vs other Python web frameworks?

答案 6 :(得分:1)

环境?

这是最简单的解决方案:

  • 安装Active Python 2.6。它本身就是Python,但附带了一些方便实用的东西,比如DiveintoPython chm。

  • 使用Komodo Edit 5。它是可用于Python的优秀免费编辑器之一。

  • 使用IDLE。它是最简单的最简短的片段编辑器,具有语法高亮和自动完成,是大多数其他IDE无法比拟的。它与python捆绑在一起。

  • 使用Ipython。它是一个shell,可以进行语法高亮和自动完成,bash功能,漂亮打印,日志记录,历史记录以及许多此类事情。

  • 安装easy_install和/或点,以便轻松安装各种第三方应用。

来自Visual Studio和.Net听起来会有很多不同,但它是一个完全不同的世界。

对于框架,django效果最好。走教程,你会留下足够的印象。文档摇滚。社区,你必须亲自看看,知道它有多棒!!

答案 7 :(得分:1)

注意:我包含了许多链接到框架,项目和什么不是,但作为一个新用户,每个答案限制为1个链接。如果其他有足够声誉的人想要/可以将它们编辑成这个答案而不是脚注,我将不胜感激。

有一些Python IDE,如Wing IDE [1],我相信有些人也会使用Eclipse [2]和python插件[3]。 FreeNode的#python频道中的很多人似乎更喜欢vim,emacs,nano和类似的文本编辑器而不喜欢IDE。我的个人优先编辑器是Vim,但是如果你大部分时间都在Windows上进行.NET开发,大概是使用通常的Visual X IDE,那么vim和emacs可能会让你感到震撼,你最好使用IDE。

几乎所有的python web框架*都支持WSGI标准[4],大多数大型Web服务器都有某种插件来支持WSGI,其他的通过快速cgi或plain cgi支持WSGI。

Zope [5]和Django [6]框架有自己的ORM,其他ORM最着名的两个似乎是SQL Alchemy [7]和SQL Object [8]。我只有前者的经验,但都支持所有可能的理智数据库选择,包括与Python一起安装的SQLite,因此非常适合测试和试验,而不会使用第三方Web服务器和数据库服务器污染.NET环境。

内置单元测试[9]和pyunit [10]框架似乎是单元测试的优先解决方案,但我对这些没有太多经验。

bpython [11]和ipython [12]提供了增强的交互式python shell,可以极大地帮助加速和测试少量代码,因此值得一试。

对于众所周知且经常使用的Web框架列表,请查看以下框架**:

  • Twisted [13]是一个通用的网络框架,几乎支持阳光下的每一个协议。
  • Pylons [14]是轻量级框架,旨在尽可能灵活,并留下关于ORM,模板语言和什么不是你的所有选择。
  • CherryPy [15]尝试提供一个接口,将Python对象暴露给Web。
  • Django [6]试图成为一体化解决方案,内置模板系统,ORM,管理页面和国际化。虽然之前的框架有更多的DIY连接,但各种框架都与它们有关。
  • Zope [5]的目标是适用于大型企业应用程序,我只听到了很多关于它的好消息,但是对于小型的共识似乎是,对于更简单和更小的框架之一,你可能会更好
  • TurboGears [16]是我最不了解的框架,但似乎主要是Django的竞争。

这是我现在能想到的一切,如果我能想到的话,我会编辑和添加内容。我希望这可以帮助你在python的精彩世界中找到一些。


* - 主要的例外是Apache的mod_python,你应该避免出于这个原因,改为使用mod_wsgi。
** - 警告的话,我没有亲自使用这些框架,这只是一个非常短暂的印象,我从与其他人谈论每个框架,它可能是非常不准确的。 (如果有人有任何更正,请做评论,我会尝试编辑并修复此答案)。

(http://因为被识别为链接而丢失了)
[1] www.wingware.com/
[2] www.eclipse.org/
[3] pydev.sourceforge.net/
[4] wsgi.org/wsgi/
[5] www.zope.org/
[6] www.djangoproject.com/
[7] www.sqlalchemy.org/
[8] www.sqlobject.org/
[9] docs.python.org/library/unittest.html
[10] pyunit.sourceforge.net/pyunit.html
[11] www.bpython-interpreter.org/
[12] ipython.scipy.org/
[13] twistedmatrix.com/trac/
[14] pylonshq.com/
[15] www.cherrypy.org/
[16] turbogears.org/

答案 8 :(得分:0)

Python在数据库和Web服务器等SQL中构建,因此您无需安装任何第三方应用程序。请记住,Python附带电池。

答案 9 :(得分:0)

如果您已经使用过Eclipse,那么可以尝试Pydev