已经尝试Web2Py几天了,我决定将其作为管理员。但是有一件事让我非常关注,最终可能会成为热门。我需要一个值得信赖的高效开发环境和设置。来自MS Visual Studio世界,我正在寻找具有良好的自动完成功能/智能感知+用于版本控制和部署的功能的东西。

我做了一些尝试来在Eclipse中编辑我的代码,但是它需要额外的设置才能与自动完成一起运行,并且对于调试我不知道是否可行。 (注意到在Eclipse中有一个Django项目模板,我必须说这有点吸引人。)

Wing Ide对如何启动和运行web2py进行了指导,我将对其进行测试。它不是免费的,但是与Windows世界中的许多软件相比非常便宜。

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

Web2Py开发人员使用什么IDE,您的设置如何?

在良好的IDE中为项目提供完整的安装脚本非常棒! (就像安装一样,一键使它运行100%)。

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

非常感谢!

最佳答案

  • 操作系统:Windows 7 / Windows XP
  • IDE: NetBeans
  • 版本控制: TortoiseHg / NetBeans
  • 调试器: winpdb
  • Shell: IPython
  • 发布: WinSCP / PuTTY / TortoiseHg

  • 剧本

    在web2py中创建新项目后,将一些脚本添加到主应用程序文件夹中:

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

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

    web2py \ applications \ myapp \ Shell.bat:
    python ..\..\web2py.py -S myapp -M
    

    集成开发环境

    正如其他人所述,无论您使用哪种IDE,都需要做一些extra stuff来获取web2py的自动完成/智能提示。

    对我来说,NetBeans是一切都可以做到的方法(Eclipse / PyDev)和基本但很少补充(PyScripter)之间的完美折衷。

    NetBeans设置(项目属性):
  • Python类别
  • Python平台:Python 2.x(默认为Jython)
  • 运行类别
  • 主模块:web2py.py
  • 应用程序参数:-i 127.0.0.1 -p 8000 -a mypassword

  • NetBeans的优点:
  • 紧密Mercurial集成
  • 突出显示在您对其进行编辑时在源文件中添加,更改或删除的行
  • 自上次提交
  • 以来对个人所做的更改的选择性回滚
  • 我使用过
  • 最好的视觉差异查看器之一
  • Python PEP8样式提示(完全可自定义)
  • 根据您的代码样式(CapitalizedWords),名称“foo”不是有效的类名称
  • 根据您的代码样式,“Bar”名称不是有效的函数名称(lowercase_with_underscores)
  • 自动格式化热键(更正运算符之间的间距等)
  • 源文件中的导航
  • 在语义上索引当前源文件
  • 按类型(类,方法,属性等)按字母顺序组织
  • 使巨大的样式表易于管理

  • NetBeans的:
  • 集成调试器不能与web2py一起使用(这确实让人很痛)
  • 较长的启动时间(但一旦启动并运行,对我来说还是很快速的)

    版本控制

    我使用并强烈建议使用Mercurial进行源代码控制。如前所述,NetBeans对Mercurial具有很好的支持,但是我还是想在TortoiseHg中做一些事情。

    TortoiseHg的优点:
  • shell 覆盖图标
  • 资源库浏览器
  • 查看回购记录,带有分支/合并
  • 的图形显示
  • 使用提交工具
  • 的按钮进行接收,发送,推送,拉动,更新等的一站式服务
  • 提交工具
  • Hunk选择:从文件中樱桃选择更改以更集中地提交
  • 添加,删除,区分,还原,移动,删除,忘记

  • TortoiseHg Cons :
  • 没有简单的方法可以直接放入命令行
  • 定期阻止在提交过程中删除文件的错误(等待indef释放锁;从命令行运行hg addremove是一种可靠的解决方法)

  • 出版

    我将WinSCP(用于浏览),PuTTY(用于终端命令)和TortoiseHg(用于我的存储库的推/拉)结合使用,以与Webfaction上的共享主机帐户一起使用。

    我要做的第一件事是设置公用/专用密钥加密。如果您无法在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知道您的私钥位于何处,但是它们很容易弄清楚。

    10-02 04:14
    查看更多