eclipse - Web2Py 的良好开发环境设置

标签 eclipse ide web2py

已经尝试 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
    

    集成开发环境

    正如其他人所说,您需要做一些 extra stuff无论您使用什么 IDE,都可以为 web2py 获取自动完成/智能感知。

    对我来说,NetBeans 是在 do-every-if-you-can-figure-out-how (Eclipse/PyDev) 和 do-the-the-basics-but-few-extras (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”不是有效的函数名称(小写_带下划线)
  • 自动格式化热键(更正运算符周围的间距等)
  • 在源文件中导航
  • 语义索引当前源文件
  • 按类型(类、方法、属性等)按字母顺序组织
  • 甚至可以管理庞大的样式表

  • NetBeans 缺点 :
  • 集成调试器不能与 web2py 一起工作(那个真的很痛)
  • 启动时间长(但一旦启动并运行对我来说很快就可以接受)

  • 版本控制

    我使用并强烈推荐 Mercurial 进行源代码控制。正如前面提到的,NetBeans 对 Mercurial 有很大的支持,但有些事情我宁愿在 TortoiseHg 中做。

    TortoiseHg 优点 :
  • shell 覆盖图标
  • 资源库浏览器
  • 查看带有分支/合并图形显示的 repo 历史记录
  • 用于传入、传出、推送、拉取、更新等的一站式商店,带有提交工具按钮
  • 提交工具
  • Hunk 选择:从文件中挑选更改以获得更集中的提交
  • 添加、删除、差异、还原、移动、删除、忘记

  • TortoiseHg 缺点 :
  • 没有简单的方法直接进入命令行
  • 在提交期间定期阻止文件被删除的错误(等待 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 知道您的私钥所在的位置,但这些很容易弄清楚。

    关于eclipse - Web2Py 的良好开发环境设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075758/

    相关文章:

    c# - 什么是 Java 等同于 C# 的 Windows 窗体,用于轻松快速地构建 GUI 应用程序

    debugging - 调试 web2py 应用程序的不同方法

    python - Web2Py DAL、左连接和运算符优先级

    c - 看似正确引用后对 dll 库中函数的 undefined reference

    java - 蓝牙客户端-服务器通信[java]

    eclipse - 将动态 Web 项目转换为 Maven = 部署为空

    spring - 错误: Failed to execute goal on projectorg. apache.maven.plugins :maven-compiler-plugin:3. 8.0:编译

    clojure - 哪些IDE,编辑器和工具可用于ClojureScript开发?

    php - 为什么键盘和字母在 NetBeans 中不匹配?

    javascript - 如何从 web2py 中的 View 动态检查登录状态