代码之家  ›  专栏  ›  技术社区  ›  Jack Ryan

我需要一个入门指南来设置用于Python开发的窗口

  •  9
  • Jack Ryan  · 技术社区  · 15 年前

    我目前只与.NET合作,希望能在python上有所收获。为此,我需要建立一个Python开发环境。我的指南会很方便。我想我会做Web开发,所以需要一个Web服务器,可能还需要一个数据库。我还需要指向流行的ORM、MVC框架和测试库的指针。

    我对所有这些的一个主要标准是,我想了解它是如何工作的,我希望它尽可能地被孤立。这一点很重要,因为我担心会污染使用第三方Web和数据库服务器的.NET工作环境。如果可能的话,我非常乐意从使用sqlite开始。

    如果我能很好地处理这个问题,我可能还想设置自动构建和CI服务器(在虚拟机上,可能是Ubuntu)。任何关于这些的建议都是有用的。

    如果我喜欢Python,我的最终目标是拥有与.NET类似的工具,并真正了解它的构建和部署。首先,我将适应一个尽可能孤立的简单开发环境,如果我不喜欢它,它将很容易被删除。我不想使用Ironpython,因为我想获得使用通常使用的工具和框架开发Python解决方案的全部经验。

    10 回复  |  直到 14 年前
        1
  •  5
  •   JasonFruit    14 年前

    建立一个Python环境并不难,而且我从未让它弄脏过我的.NET工作。基本上,安装python——我会使用2.6而不是3.0,这还没有被广泛接受——然后将其添加到您的路径中,您就可以使用该语言了。我不建议使用UbuntuVM作为开发环境;如果您使用的是Windows,那么您也可以在Windows上进行开发,而我这样做并没有任何重大问题。我在Windows和Linux之间来回奔波,没有任何问题。

    如果您有一个对Python有基本支持的编辑器,那么我会坚持使用它。如果没有,我已经找到 Geany 尽管我使用 Emacs 我自己,因为我知道;其他人喜欢 SCITE , NotePad++ 或者其他的。我会避免为Python使用花哨的IDES,因为它们与语言的特性不匹配,而且我不会为空闲(包括在Python中)而烦恼,因为使用IDES会带来极大的痛苦。

    图书馆和框架建议:

    • Django 标准 Web框架,但是它很大,你必须以Django的方式工作;我更喜欢 CherryPy 它也得到了积极的支持,但是很轻,给了你很大的自由,并且包含了一个很好的、可靠的Web服务器,可以很容易地用httpd替换。
    • Django包含了自己的ORM,这已经足够好了;但是有一个独立的用于Python的ORM,它甚至更好: SQL Alchemy
    • 就一个测试库而言, pyunit 在我看来是个明显的选择

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

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

        2
  •  3
  •   Daniel Roseman    15 年前

    好吧,如果你无论如何都想建立一个UbuntuVM,你也可以把它作为你的开发环境。然后,您可以通过标准的打包工具(apt-get-install)在该虚拟机上安装apache和mysql或postgres,并且不会污染您的Windows环境。

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

        3
  •  3
  •   gimel    15 年前

    安装预先配置的 ActivePython 从ActiveState中释放。 除其他功能外,它还包括pythonwin-ide(仅限Windows),这使得交互地浏览python非常容易。

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

        4
  •  3
  •   Dinoboff    15 年前

    您应该安装python 2.4、python 2.5、python 2.6和python 3.0,并将您更经常使用的路径添加到您的路径中(添加c:\pythonxx\和c:\pythonxx\脚本)。

    对于每个python 2.x,安装easy-install;下载 ez_setup.py 然后从命令:

    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软件包。-no站点包不提供对全局站点包的访问权限,因此您可以确保所有依赖项都在。\v\lib\site包中。

    要激活虚拟环境:

    .\v\Scripts\activate
    

    对于框架,有很多。Django非常棒,并且有很好的文档记录,但是您可能应该首先查看pylons,了解它在Unicode、打包、部署和测试方面的文档,以及它对WSGi的更好支持。

    对于IDE,python附带了idle,这足以供您学习,但是您可能需要查看eclipse+pydev、komodo或wingware python-ide。NetBean6.5对Python的beta支持看起来很有前途(请参见 top 5 python IDE )

    对于Web服务器,您不需要任何;Python有自己的框架,所有Web框架都有自己的框架。您可能需要安装mysql或progresql;通常最好在将用于生产的同一数据库上开发。

    另外,当你学会了巨蟒后,看看 Foundations of Agile Python Development Expert Python Programming .

        6
  •  2
  •   Community SushiHangover    7 年前

    看一看 Pylons 阅读 WSGI Paste . 有一个不错的介绍性的谷歌科技谈论他们: ReUsable Web Components with Python and Future Python Web Development .

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

        7
  •  1
  •   lprsd    15 年前

    环境?

    下面是最简单的解决方案:

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

    • 使用 Komodo Edit 5 . 它是一个很好的免费编辑器,可以用于Python。

    • 使用 IDLE .它是最简单的短代码段编辑器,语法突出显示和自动完成是大多数其他IDE无法比拟的。它与python捆绑在一起。

    • 使用 Ipython .它是一个shell,用于突出显示和自动完成语法、bash函数、漂亮的打印、日志记录、历史记录等等。

    • 安装 easy_install 和/或PIP,用于轻松安装各种第三方应用程序。

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

    对于框架, django 工作得最好。通过本教程,你会印象深刻。这些文件令人震惊。这个社区,你必须亲自去看看,才能知道它有多美妙!!

        8
  •  1
  •   Merijn    15 年前

    注意:我包含了很多到框架、项目和其他内容的链接,但是作为一个新用户,每个答案只能有一个链接。如果有人有足够的声誉来编辑,希望/能够把他们编辑成这个答案而不是脚注,我会感激的。

    有一些Python的IDE,比如WingIDE[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,其他的则通过fast cgi或plain cgi支持wsgi。

    Zope[5]和Django[6]框架有自己的ORM,在其他ORM中,最著名的两个是SQL炼金术[7]和SQL对象[8]。我只有前者的经验,但两者都支持所有可能的健全的数据库选择,包括与python一起安装的sqlite,因此非常适合测试和试验,而不会用第三方Web服务器和数据库服务器污染您的.NET环境。

    内置的UnitTest[9]和PyUnit[10]框架似乎是单元测试的首选解决方案,但我对此没有太多经验。

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

    关于已知和经常使用的Web框架的列表,请查看以下框架**:

    • Twisted[13]是一个通用的网络框架,它几乎支持太阳下的每一个协议。
    • 挂架[14]是一个轻量框架,旨在尽可能灵活,并留下关于什么ORM、模板语言和什么不适合您的所有选择。
    • Cherrypy[15]试图提供一个接口来向Web公开Python对象。
    • Django[6]试图成为一个一体式解决方案,内置模板系统、ORM、管理页面和国际化。虽然以前的框架有更多的DIY连接在一起,但各种框架都与之相关。
    • Zope[5]的目标是适合大型企业应用程序,我只听说过一些关于它的好消息,但大家一致认为,对于较小的企业,使用一个简单和较小的框架可能会更好。
    • 涡轮齿轮[16]是我最不了解的框架,但它似乎主要是对姜戈的竞争。

    这就是我现在能想到的一切,如果我能想到的话,我会编辑和添加一些东西。我希望这能在巨蟒的奇妙世界中帮助你。


    *-主要的例外是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.sqlacalchemy.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]涡轮齿轮.org/

        9
  •  0
  •   Martin P. Hellwig    15 年前

    Python内置了类似SQL的数据库和Web服务器,因此您不需要安装任何第三方应用程序。记住,python附带电池。

        10
  •  0
  •   kwong    15 年前

    如果你以前和Eclipse合作过 Pydev 尝试