【问题标题】:Eclipse + AppEngine =? autocompleteEclipse + AppEngine =?自动完成
【发布时间】:2010-10-30 01:39:52
【问题描述】:

我在 Windows 机器上做一些初学者 AppEngine 开发并为此安装了 Eclipse。我喜欢对象和函数的自动完成功能。

我将开发环境转移到我的 Macbook 上,并安装了 Eclipse Ganymede。我安装了 AppEngine SDK 和 Eclipse 插件。但是,当我现在输入代码时,自动完成功能不起作用。我错过了一步吗?

更新

只是补充一下:

行:

import cgi

似乎给了我我需要的东西。当我输入“cgi”时。我得到了所有的自动完成。但是,这些行:

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db

不要给我任何自动完成。如果我输入“用户”。没有自动完成。

【问题讨论】:

    标签: python eclipse google-app-engine


    【解决方案1】:

    Eclipse 的 App Engine 插件适用于 Java SDK,而不适用于 Python。我不太了解 eclipse,但我怀疑您缺少的只是 eclipse 的 pythonpath 配置中包含的 App Engine SDK 的路径。找个地方添加它,它就能找到 SDK 类并为它们提供自动完成建议。

    【讨论】:

    • 我认为这是正确的答案,但我不知道 AppEngine 将 SDK 放在我磁盘上的什么位置。我知道我将他们的 AppEngineLauncher 放在哪里,但我不知道将 Eclispe 指向 PYTHONPATH 的位置。任何帮助将不胜感激。
    • 如果您使用 AppEngineLauncher,您的 SDK 位于 /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ - 丑陋,我知道。
    • 我以不同的方式解决了它,但我将使用我找到的解决方案删除我在 PYTHONPATH 中所做的引用,看看这是否也有效。非常感谢尼克的这篇文章。
    【解决方案2】:
    【解决方案3】:
    1. 您是否在 Java->Editor->Content Assist->Advanced(见下文)中检查了任何形式的“Java 提案”?
    2. 您的错误日志中有任何消息吗?

    Preferences http://img26.imageshack.us/img26/2663/completionpreferences.png

    【讨论】:

    • 所有的提案都被检查了......应该是吗?另外,我使用的是 Python,而不是 Java。这有关系吗?
    • 看起来您缺少一个 Python 插件 - 可能是 pydev.sourceforge.net
    • 不,pydev 在那里。我对 python 库和我自己的模块有自动完成功能。我没有的是 GAE 库的自动完成功能。
    【解决方案4】:

    要让 Eclipse 自动完成您的 Python 代码,您需要将 Pydev 安装到 Eclipse 中。

    这是一个免费插件,可在此处获得:http://aptana.com/python

    更新 Eclipse 时使用的 URL: http://pydev.sourceforge.net/updates/ (在 Eclipse 中,选择“帮助/软件更新...”)

    名为 Pydev Extensions 的插件增强版(费用:http://www.fabioz.com/pydev/buy.html)提供更多功能,包括代码分析、自动导入代码完成和远程调试。

    【讨论】:

    • 感谢@ArtjomB 的评论。我删除了这个问题,因为看起来这个缺陷与 Python 代码无关/几乎没有关系。我现在有在 JavaScript 中工作的代码 - 问题在于用于在 base64 和加密之间传递数据的编码。它也可以通过调用 createCipher() 来工作(Python 代码也不使用 iv)。但是...我非常感谢您的 cmets。我从 CTR 开始,以保​​持第一个版本简单,以便在 2 个平台上进行测试。鉴于您在密码学方面的经验,您建议我用什么替换 CTR?
    • 可以使用CTR模式,但需要生成随机IV。 CBC 模式也需要一个随机 IV,但如果使用静态 IV,则不会那么可怕。具有静态 IV 的 CBC 类似于 ECB 模式。具有静态 IV(随机数)的 CTR 要差得多。确实没有支持静态 IV 的通用且安全的模式。 SIV 模式有一个确定性版本,但几乎没有实现。
    【解决方案5】:

    我从 Google App Engine 论坛上的一张海报中找到了答案。我稍后会在博客上写下这段经历,但这一次在 GOOG 上失败了。您需要单击“Linux/Other”的下载链接以获取包含正确文件的 ZIP 文件。然后,您可以将 PYTHONPATH 指向本地计算机上的目录。

    这里的失败是 Mac SDK 下载为您提供了 AppEngineLauncher,但没有提供这些文件。在 AppEngine 网站或 GOOG 发布的说明中,他们没有建议作为 Mac 开发人员下载这些“其他”文件。非常非常非常烦人。

    【讨论】:

    • 文件在启动器中 - 就在应用程序内部,在我描述的位置。
    猜你喜欢
    • 2015-02-16
    • 2011-02-12
    • 1970-01-01
    • 2010-11-27
    • 2011-07-18
    • 2011-12-07
    • 2011-08-21
    • 2011-09-02
    • 2015-03-23
    相关资源
    最近更新 更多