现在已经尝试了几天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
非常感谢!
答案 0 :(得分:16)
在web2py中创建新项目后,我将一些脚本添加到主应用程序文件夹中:
的web2py \应用程序\ MyApp的\ DebugWinpdb.bat :
C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -i 127.0.0.1 -p8000 -mypassword
的web2py \应用程序\ MyApp的\ DebugShell.bat :
C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -S myapp -M
的web2py \应用程序\ MyApp的\ Shell.bat :
python ..\..\web2py.py -S myapp -M
正如其他人所说,无论你使用什么IDE,你都需要做一些extra stuff来获得web2py的自动完成/智能感知。
对我而言,NetBeans是一个很好的折衷方案 - 如果只有你可以想办法(Eclipse / PyDev)和基础知识 - 但很少 - 额外(PyScripter)。 / p>
NetBeans设置(项目属性):
web2py.py
-i 127.0.0.1 -p 8000 -a mypassword
NetBeans专业人员:
NetBeans缺点:
我使用并强烈推荐Mercurial进行源代码控制。如前所述,NetBeans对Mercurial有很大的支持,但在TortoiseHg中我还有一些事情要做。
TortoiseHg Pros :
TortoiseHg Cons :
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知道您的私钥所在的位置,但这些很容易理解。
答案 1 :(得分:12)
在trunk中尝试new web2py admin接口。它有一个基于Web的mercurial界面和一个google部署界面。
在web2py中,您可以编辑applications / admin / models / 0.py并设置
TEXT_EDITOR = 'amy'
您将获得具有自动完成功能的基于Web的Amy编辑器。它不是默认值,因为它不适用于某些浏览器,因为自动完成不如eclipse。它可能适合你。
您可以将web2py与Eclipse结合使用,但需要一个小的解决方法让Eclipse了解web2py环境。 It is explained here
我知道其他用户已将其他IDE用于web2py,例如WinIDE和pyCharm。我建议你在web2py邮件列表上询问人们非常有帮助。
答案 2 :(得分:8)
我非常确定不会存在“一键设置脚本”以执行您正在寻找的所有内容(目前)。但不要被推迟 - 您可以实现一个良好的开发环境,以满足您的需求,并有很多选择。
虽然我是在Windows上开发的,但我喜欢我的设置,因为它更像是一种“Unixy”思维方式,我有许多工具,每个人都在做特定的任务。一旦您获得了工作流程设置,您就可以非常高效 - 尽管我意识到最初来自Visual Studio世界可能看起来有点令人困惑。
下面我概述了我已经解决的问题。我相信其他人会有自己的建议。选择你最喜欢的选项。
(下面应该有一些指向有用软件的超链接,但我没有足够的声誉来包含超过1个链接......)
在Windows上进行开发我很享受使用Pyscripter。它是免费的,快速的(与Aptana / Eclipse / Netbeans等相比)并且具有一些不错的功能(黑暗主题,集成的python控制台和代码浏览器等等)。
要使代码完成/智能感知能够用于web2py,您需要在模型/控制器文件中添加一些代码,因为web2py的工作方式。 web2py组的this discussion topic中有一些说明。
web2py内置了一个很好的错误票务系统(参见web2py第3章)。对于更全面的调试,pydb似乎是要走的路。只需将下面的代码作为断点:
import pydb
pydb.debugger()
它会带你去调试器。
我使用TortoiseHg进行Mercurial集成,它运行得非常好。将它与winscp相结合,您就可以轻松部署。
答案 3 :(得分:5)
警告:我在OS X工作,并在BBEdit中完成大部分编码工作。
也就是说,我已经使用Wing和Komodo IDE进行web2py调试,而且它们对我来说都很有效。我暂时没有尝试过NetBeans;当我做Python支持似乎有点粗糙的边缘。我从来没有时间或耐心来加快Eclipse的速度;它是用Emacs在我的心理文件柜中提交的,毫无疑问是对Eclipse和/或Emacs的不公正。
(我会回应mdipierro建议尝试使用web2py邮件列表;它确实是必不可少的 - 这是web2py最强大的一点。)
答案 4 :(得分:5)
您是否考虑过使用较少的工具? Python和web2py都不需要大量的代码来完成很多工作。 web2py只添加10或15个新函数调用(除了HTML帮助器和验证器)。您可能会发现Eclipse和其他IDE实际上会受到阻碍。通过管理系统在web2py中设置新应用程序非常简单。由于新的app脚手架复制了欢迎应用程序,您可以通过编辑欢迎应用程序来自定义新的应用程序设置。使用Mercurial(或Git,Subversion或Bazaar),您可以在计算机上或使用其中一个公共站点设置服务器,并将更新推送或提取到生产服务器。我说,保持简单。
答案 5 :(得分:1)
我们正在使用web2py框架来满足我们所有的Web应用程序需求,这是我们的设置:
操作系统 - Ubuntu最新版
IDE - 带有pyDev的Aptana Studio 3.0
版本控制 - git
Python 2.7
开发阶段的浏览器:Chrome
答案 6 :(得分:0)
我发现Wing IDE调试器非常有用。它是一个功能强大的调试器,也可以配置为进行远程调试,这对于在非GUI远程计算机上运行web2py非常重要(例如,在Amazon Web Services上)。