【问题标题】:How do you enable auto-completion for WebOb response/request objects in Pydev for Eclipse?如何在 Pydev for Eclipse 中为 WebOb 响应/请求对象启用自动完成功能?
【发布时间】:2010-09-17 18:57:06
【问题描述】:
我一直在使用 Pydev/Eclipse 开发 Google App Engine (GAE) 应用程序,但我无法从 WebOb 获取响应/请求对象以进行自动完成。我使用widely recommended tutorial 来配置所有内容;自动完成功能适用于我遇到的所有其他问题。
例如:如果我输入“self”。我得到响应和请求的自动完成;如果我选择其中一个,请说“响应”,然后添加“。” (到目前为止,将整行带到“self.response”。)我没有任何选择 - 由于包含 WebOb 库,我希望获得像“out.write()”这样的选项。
我将以下库包含到我的 Pydev 项目中:
- C:\Program Files\Google\google_appengine
- C:\Program Files\Google\google_appengine\lib\django
- C:\Program Files\Google\google_appengine\lib\webob
- C:\Program Files\Google\google_appengine\lib\yaml\lib
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签:
eclipse
google-app-engine
pydev
【解决方案1】:
我已经尝试过我的安装,它可以工作。
但是,请记住,PyDev 的分析会在遇到错误时停止,这可能是自动完成在您的情况下不起作用的原因。
我建议您与主要开发人员 Fabio Zadrozny 联系;他非常友好和乐于助人,并且还运行blog,其中包含许多有用的技巧,用于使用各种框架和所有限制配置 PyDev。
【解决方案2】:
显然,这是各种 Python IDE 的一个已知问题 - 似乎没有人有一个单一的解决方案。谷歌更改了一些内部路径,使其只能通过执行 python 脚本来确定。尽管 Wing IDE 有一个不错的解决方法,但我一直无法为 Pydev 提出令人满意的解决方案:
改进自动完成和转到定义
Wing 无法解析最新版本的 Google App Engine 中的 sys.path 黑客,因此它可能无法找到一些用于自动完成、转到定义和其他功能的模块。要解决此问题,请在 dev_appserver.py 的 fix_sys_path 中设置断点并开始调试。
然后,在调试探针工具(仅限 Wing Pro)中键入以下内容:
os.pathsep.join(EXTRA_PATHS)
将其复制到剪贴板并通过右键单击文件打开 dev_appserver.py 的文件属性。然后,在 Environment 选项卡下,为 Python Path 选择 Custom,单击 View as Text 按钮并粘贴到额外的路径中。
如果您移动应用引擎安装,您将需要重新执行此操作,或者您可以使用 ${WING:PROJECT_DIR} 将这些路径转换为基于项目文件的位置。
(取自:http://www.wingware.com/doc/howtos/google-app-engine)