脚本
在 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
正如其他人所说,无论您使用什么 IDE,您都需要做一些额外的事情来获得 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 风格提示(完全可定制)
- 根据您的代码样式,名称“foo”不是有效的类名(CapitalizedWords)
- 根据您的代码样式,名称“Bar”不是有效的函数名称(lowercase_with_underscores)
- 自动格式化热键(更正运算符周围的间距等)
- 在源文件中导航
- 语义索引当前源文件
- 按类型(类、方法、属性等)按字母顺序组织
- 甚至可以管理庞大的样式表
NetBeans 缺点:
- 集成调试器不适用于 web2py(那真的很痛)
- 启动时间长(但一旦启动并运行对我来说是可以接受的)
版本控制
我使用并强烈推荐 Mercurial 进行源代码控制。如前所述,NetBeans 对 Mercurial 有很好的支持,但有些事情我宁愿在 TortoiseHg 中做。
TortoiseHg 优点:
- 外壳覆盖图标
- 存储库资源管理器
- 通过分支/合并的图形显示查看回购历史
- 带有提交工具按钮的传入、传出、推送、拉取、更新等一站式服务
- 提交工具
- 大块选择:从文件中挑选更改以实现更集中的提交
- 添加、删除、差异、还原、移动、删除、忘记
TortoiseHg 缺点:
- 没有简单的方法直接进入命令行
- 定期阻止文件在提交期间被删除的错误(等待 indef 释放锁;
hg addremove
从命令行运行是一种可靠的解决方法)
出版
我使用 WinSCP(用于浏览)、PuTTY(用于终端命令)和 TortoiseHg(用于推/拉我的存储库)的组合来使用我在 Webfaction 上的共享主机帐户。
我做的第一件事是设置公钥/私钥加密。如果您无法在 Windows 和 Linux 之间进行此设置,请尝试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 知道您的私钥所在的位置,但这些很容易弄清楚。