代码之家  ›  专栏  ›  技术社区  ›  joeriks

web2py良好的开发环境设置

  •  27
  • joeriks  · 技术社区  · 14 年前

    已经试过web2py几天了,我决定做一名管理员。但有一件事让我很担心,那可能是最后的一个阻碍。我需要一个良好的开发环境和设置,我可以信任和富有成效。来自MS Visual Studio World,我正在寻找具有良好的自动完成/intellisense+功能的版本控制和部署工具。

    我曾尝试在Eclipse中编辑我的代码,但它需要额外的设置来运行autocomplete,对于调试,我不知道是否可能。(注意到Eclipse中有一个Django项目模板,我不得不说这有点诱人。)

    WingIDE有一个关于如何启动和运行Web2py的说明,我准备测试它。不是免费的,但与Windows世界中的许多产品相比非常便宜。

    我还需要一个好的版本控制(HG)设置,最好是一个半自动的FTP部署方法。

    Web2py开发人员使用的是什么IDE,您的设置看起来如何?

    在一个好的IDE中,一个完整的项目设置脚本是非常棒的!(就像安装一样,只需单击一下即可使其100%运行)。

    Pycharm看起来不错,也许可以添加Web2py支持 http://youtrack.jetbrains.net/issue/PY-1648

    谢谢!

    7 回复  |  直到 6 年前
        1
  •  16
  •   Vadim Kotov Xedecimal    6 年前

    C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -i 127.0.0.1 -p8000 -mypassword
    

    C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -S myapp -M
    

    python ..\..\web2py.py -S myapp -M
    

    extra stuff

      • 主要模块: web2py.py
      • 应用程序参数: -i 127.0.0.1 -p 8000 -a mypassword

    网豆公司 :

    • 紧密的mercurial集成
      • 在编辑源文件时突出显示源文件中添加、更改或删除的行
      • 选择性回滚自上次提交以来所做的单个更改
      • 我用过的最好的视觉差异查看器之一
    • python pep8风格提示(完全可定制)
      • 根据代码样式,“foo”名称不是有效的类名(大写单词)
      • 根据您的代码样式,“bar”名称不是有效的函数名(小写,带下划线)
      • 自动格式化热键(更正运算符周围的间距等)
    • 源文件中的导航
      • 语义索引当前源文件
      • 按类型(类、方法、属性等)按字母顺序组织
      • 甚至可以管理巨大的样式表

    网豆骗子 :

    • 集成的调试器不适用于Web2py(这真的很伤人)
    • 启动时间长(但一次启动运行就可以接受)

    版本控制

    我使用并强烈推荐Mercurial进行源代码管理。如前所述,NetBeans非常支持Mercurial,但我更愿意在TortoiseHg中做一些事情。

    龟背龙 :

    • 外壳覆盖图标
    • 资源库浏览器
      • 以图形方式显示分支/合并的重新定位历史记录
      • 一站式商店,用于输入、输出、推、拉、更新等,带有提交工具按钮
    • 提交工具
      • Hunk选择:Cherry从文件中选择更改以获得更集中的提交
      • 添加、删除、差异、还原、移动、删除、忽略

    龟裂 :

    • 不容易直接进入命令行
    • 在提交期间定期阻止删除文件的错误(等待indef释放锁;正在运行 hg addremove 来自命令行是一个可靠的解决方法)

    出版业

    我使用winscp(用于浏览)、putty(用于终端命令)和tortoisehg(用于推/拉我的repos)的组合来使用我在web派系上的共享托管帐户。

    我要做的第一件事是设置公钥/私钥加密。如果在Windows和Linux之间设置此设置时遇到问题,请尝试 these instructions from Andre Molnar . 简而言之,您需要在Linux上使用ssh keygen生成您的私钥,使用winscp将其复制到Windows计算机上,然后将其转换为与winscp和putty一起使用。

    然后将以下行添加到全局mercurial.ini文件中:

    [ui]
    ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -i "c:\path\to\your\privatekey.ppk"
    

    即使必须连接到多个服务器,也只需将公钥复制到每个不同的服务器。您还需要让winscp和putty知道您的私钥在哪里,但是这些都很容易理解。

        2
  •  12
  •   mdipierro    14 年前

    试试 new web2py admin 中继接口。它有一个基于Web的mercurial接口和一个Google部署接口。

    在web2py中,您可以编辑applications/admin/models/0.py并设置

    TEXT_EDITOR = 'amy'
    

    你会得到一个基于网络的自动完成艾米编辑器。它不是默认的,因为它不适用于某些浏览器,也因为自动完成不如Eclipse好。它可能对你有用。

    您可以将web2py与eclipse结合使用,但您需要一个小的变通方案来让eclipse了解web2py环境。 It is explained here .

    我知道其他用户在Web2py中使用过其他的IDE,例如winide和pycharm。我建议你在web2py邮件列表上问一下人们在哪里很有帮助。

        3
  •  8
  •   keybits    14 年前

    我敢肯定,你正在寻找的“一键式安装脚本”现在还不存在。但不要拖延——你可以实现一个很好的开发环境来满足你的需求,而且有很多选择。

    虽然我是在Windows上开发的,但我喜欢我所拥有的设置,因为它更像是一种“单一”的思维方式,在这种方式下,我有许多工具,每个工具都执行特定的任务。一旦你得到了一个工作流程设置,你就可以非常有效率了——尽管我意识到它最初来自于一个Visual Studio的世界,可能看起来有点令人困惑。

    下面我概述了我已经解决的问题。我相信其他人会有他们自己的建议。选择你最喜欢的选项。

    (下面应该有指向有用软件的超链接,但我没有足够的信誉包含一个以上的链接…)

    对于在Windows上开发,我很喜欢使用pyscripter。它是免费的、快速的(与aptana/eclipse/netbeans等相比),并且有一些不错的特性(黑暗主题、集成的Python控制台和代码浏览器等等)。

    为了让代码完成/intellisense为web2py工作,您需要向模型/控制器文件添加一些代码,因为web2py工作的方式。里面有一些说明 this discussion topic 在web2py组上。

    web2py内置了一个大错误票务系统(参见web2py书第3章)。对于更全面的调试,PYDB似乎是一种方法。只需将下面的代码作为断点:

    import pydb 
    pydb.debugger()
    

    它将带您到调试器。

    我使用TortoiseHg进行mercurial集成,它工作得非常好。将它与WinCP结合起来,您可以轻松地部署。

        4
  •  5
  •   JLundell    14 年前

    注意:我在OSX中工作,并且在BBedit中编写大部分代码。

    也就是说,我已经使用了Wing和KomodoIDE进行Web2py调试,它们都为我工作得很好。我已经有一段时间没有尝试过NetBeans了;当我尝试的时候,Python的支持看起来有点粗糙。我从来没有时间和耐心来加快Eclipse的速度;它在我的心理文件柜中被Emacs归档,毫无疑问对Eclipse和/或Emacs是不公正的。

    (我将回应Mdipierro的建议,尝试web2py邮件列表;它确实是必不可少的——web2py最强大的一点。)

        5
  •  5
  •   pbreitenbach    13 年前

    你是否考虑过使用更少的工具?python和web2py都不需要很多代码就能完成很多工作。Web2py只添加了10或15个新的函数调用(除了HTML助手和验证器)。您可能会发现Eclipse和其他IDE实际上妨碍了您的工作。通过管理系统,在Web2py中设置新应用程序非常简单。由于新的应用程序脚手架复制了欢迎应用程序,您可以通过编辑欢迎应用程序自定义新的应用程序设置。使用Mercurial(或Git、Subversion或Bazaar),您可以在计算机上或其中一个公共站点上设置服务器,并将更新推送或拉送到生产服务器。我说,简单点。

        6
  •  1
  •   kommradHomer    12 年前

    我们使用Web2py框架来满足我们所有的Web应用程序需求,这是我们的设置:

    操作系统-Ubuntu最新
    IDE-Aptana Studio 3.0和Pydev
    版本控制-Git
    Python 2.7 开发阶段的浏览器:Chrome

        7
  •  0
  •   Chris Johnson user3351229    11 年前

    我发现WingIDE调试器非常有用。它是一个全面的强大的调试器,也可以配置为进行远程调试,当您在非GUI远程计算机上运行Web2py时(例如在Amazon Web Services),这一点非常重要。