如何在 Pydev for Eclipse 中启用 WebOb 响应/请求对象的自动完成功能?
-
03-07-2019 - |
题
我一直在使用 Pydev/Eclipse 开发 Google App Engine (GAE) 应用程序,但我无法从 WebOb 获取响应/请求对象以进行自动完成。我用了一个 广泛推荐的教程 配置好一切;自动完成功能适用于我遇到的所有其他情况。
举个例子:如果我输入“自我”。我得到自动完成响应和请求;如果我选择其中一个,请说“响应”,然后添加一个“”。 (将完整的行带到“ 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
任何帮助将不胜感激,谢谢。
解决方案
我已经尝试过我的安装,并且它有效。但是,请记住,PyDev 的分析在遇到错误时就会停止,这可能是自动完成功能在您的情况下不起作用的原因。
我建议您与主要开发人员 Fabio Zadrozny 联系;他非常友好和乐于助人,还经营着一家 博客 包含许多使用各种框架配置 PyDev 的有用技巧以及所有限制。
其他提示
显然,这是各种 Python IDE 的一个已知问题 - 似乎没有人有单一的解决方案。Google 更改了一些内部路径,使其只能通过执行 python 脚本来真正确定。尽管 Wing IDE 有一个不错的解决方案,但我一直无法为 Pydev 提供令人满意的解决方案:
改进自动完成和转到定义
Wing 无法解析较新版本的 Google App Engine 中的 sys.path hackery,因此它可能无法找到某些用于自动完成、转到定义和其他功能的模块。要解决此问题,请在 dev_appserver.py 的 fix_sys_path 中设置断点并开始调试。
然后,在调试探针工具(仅限 Wing Pro)中键入以下内容:
os.pathsep.join(EXTRA_PATHS)
将其复制到剪贴板,然后右键单击该文件打开 dev_appserver.py 的文件属性。然后,在“环境”选项卡下,为“Python 路径”选择“自定义”,单击“以文本形式查看”按钮并粘贴额外的路径。
如果移动应用程序引擎安装,则需要重做此操作,或者可以使用 ${WING:PROJECT_DIR} 将这些路径转换为基于项目文件的位置。