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

我目前与.NET独家工作,并希望有一个在Python。 为此,我需要build立一个python开发环境。 我引导到这将是方便的。 我想我会做Web开发,所以将需要一个Web服务器,可能是一个数据库。 我也需要指向stream行的ORM,一个MVC框架和一个testing库。

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

如果我相处得很好,我也可能要设置自动化的构build和ci服务器(在虚拟机上,可能是Ubuntu)。 任何build议,这将是有益的。

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

建立一个Python环境并不难,我从来没有把.NET工作搞糊涂。 基本上,安装Python —我会使用2.6而不是3.0,这是还没有广泛接受—并将其添加到您的PATH,你准备去用语言。 我不会推荐使用Ubuntu VM作为您的开发环境; 如果你在Windows上工作,那么你也可以在Windows上进行开发,而且我没有遇到重大的问题。 我从Windows到Linux来回,没有任何困难。

如果你有一个对Python有基本支持的编辑器,我会坚持下去。 如果没有,我发现Geany是一个很好的,简单易用的编辑器,拥有良好的Python支持,但是我自己使用Emacs,因为我知道它。 其他人如SCITE , NotePad ++或其他任何人。 我会避免使用Python的花式IDE,因为它们不符合这种语言的特性,而且我也不会用IDLE(包含在Python中),因为这是一个非常痛苦的使用。

对图书馆和框架的建议:

  • Django是标准的 Web框架,但它很大,你必须工作Django的方式; 我更喜欢CherryPy ,这也是积极的支持,但是很轻松,给你很大的自由,并包含一个很好的,坚实的Web服务器,可以用httpd轻松替换。
  • Django包含它自己的ORM,这很好, Python有一个独立的版本,甚至更好: SQL Alchemy
  • 就测试库而言, pyunit似乎是我的明显选择

祝你好运,欢迎来到一个非常有趣的语言!

编辑总结:我最初推荐的是Karrigell ,但是不能再这样做了:从3.0版本开始,它一直被打破,社区还不够大,不能解决问题。 CherryPy是一个很好的替代品,如果你喜欢一个轻而易举的简单的框架,所以我改变了上面的建议。

那么,如果你正在考虑设置一个Ubuntu虚拟机,那么你也可以创建一个你的开发环境。 然后你可以通过标准的打包工具(apt-get install)在该VM上安装Apache和MySQL或Postgres,并且没有污染Windows环境的危险。

你可以通过你最喜欢的IDE在你的Windows机器上进行实际的开发,使用虚拟机作为网络驱动器,并将代码保存在那里,或者你可以使用虚拟机作为一个完整的桌面环境,并做所有的事情,这就是我会推荐。

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

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

你应该安装python 2.4,python 2.5,python 2.6和python 3.0,并且加入你经常使用的路径(Add 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看起来很有希望(见前5个python IDE )。

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

另外,当你学习Python的时候,看看敏捷Python开发基础或Python编程专家 。

  • 在Windows上使用Python
  • SO:初学者的Python教程?

看看主塔 ,阅读关于WSGI和粘贴 。 有关于Google技术的介绍性介绍: Python可重用Web组件和未来的Python Web开发 。

下面是我对类似问题的回答: Django vs其他Python Web框架?

环境?

这是最简单的解决方案:

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

  • 使用科莫多编辑5 。 它是您可以用于Python的优秀免费编辑器。

  • 使用IDLE 。 它是最简单的短片段编辑器,其语法突出显示和自动完成功能是大多数其他IDE无法比拟的。 它捆绑了python。

  • 使用Ipython 。 它的语法高亮和自动完成,bash函数,漂亮的打印,日志,历史和许多这样的事情的外壳。

  • 安装easy_install和/或点子来轻松安装各种第三方应用程序。

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

对于框架, django最好。 漫步教程,你会留下深刻的印象。 该文件的岩石。 社区,你必须自己看看,知道它是多么美好!

注:我包括了很多链接到框架,项目和什么不,但作为一个新的用户,我被限制为每个答案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的插件,其他的支持WSGI通过fast cgi或者普通的cgi。

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

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

bpython [11]和ipython [12]提供了增强的交互式python shell,可以极大地加速和测试小部分代码,因此值得期待。

至于众所周知的和经常使用的Web框架列表,请看下面的框架**:

  • Twisted [13]是一个通用的网络框架,它支持几乎每一个在阳光下的单一协议。
  • 塔架[14]是一个轻量级框架,旨在尽可能灵活,并且留下关于什么ORM,模板语言和什么 – 而不是你的所有选择。
  • CherryPy [15]试图提供一个接口将Python对象暴露给Web。
  • Django [6]试图成为一个全方位的解决方案,内置模板系统,ORM,管理页面和国际化。 虽然以前的框架有更多的DIY布线在一起,各种框架的工作涉及他们。
  • Zope [5]的目标是适合大型企业应用程序,我只听说过很好的事情,但是一致认为,对于较小的应用程序来说,使用一个更简单和更小的框架可能会更好。
  • TurboGears [16]是我最不了解的框架,但似乎主要是为了争夺Django。

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


* – 主要的例外是Apache的mod_python,你应该避免使用mod_wsgi。
** – 警告的话,我没有亲自使用这些框架,这只是我从其他人那里得到的关于每个框架的很短的印象,可能是非常不准确的。 (如果有人有任何更正,做评论,我会尝试编辑和修复这个答案)。

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

Python已经建立了像数据库和Web服务器的SQL,所以你不需要安装任何第三方应用程序。 记得Python自带电池。

如果你在使用Pydev之前已经使用了Eclipse,那么尝试一下