【问题标题】:Google App Engine appcfg.py shows the help message for every commandGoogle App Engine appcfg.py 显示每个命令的帮助消息
【发布时间】:2011-04-09 06:00:23
【问题描述】:

我有 GWT 应用程序,它部署在 GAE (Java) 上。我正在尝试使用 appcfg.py 从 App Engine 数据存储区下载数据。我根据http://ikaisays.com/2010/06/10/using-the-bulkloader-with-java-app-engine/ 进行了所有设置。

GAE Python SDK 版本为 1.4.3
Python版本是2.5.4

appcfg.py 在我的 PATH 上。当我在命令行上运行 appcfg.py 时,我会收到“帮助”消息。但问题是无论我使用哪个命令,它总是返回帮助信息。我无法使用 appcfg.py 运行任何命令。

无论我给出什么参数,它都不会给出任何具体的错误信息。我的应用程序正在使用 Google 帐户身份验证,但我认为它甚至没有达到身份验证的地步。

我可以毫无问题地使用 Java appcfg(用于回滚等其他操作)。但是 Python 版本只是拒绝适用于所有命令。

我尝试过不同的格式,例如:

appcfg.py create_bulkloader_config --url=http://myappid.appspot.com/remote_api --application=myappid --filename=config.yml


appcfg.py create_bulkloader_config --filename=bulkloader.yaml --url=http://myappid.appspot.com/remote_api 


appcfg.py --filename=bulkloader.yaml --url=http://myappid.appspot.com/remote_api create_bulkloader_config 

所有人都给我相同的帮助信息:

用法:appcfg.py [选项]

动作必须是以下之一:
create_bulkloader_config:从正在运行的应用程序创建 bulkloader.yaml。
cron_info:显示有关 cron 作业的信息。
download_app:下载以前上传的应用程序。
download_data:从数据存储区下载实体。
help:打印特定操作的帮助。
request_logs:以 Apache 常用日志格式写入请求日志。
回滚:回滚正在进行的更新。
set_default_version:设置默认(服务)版本。
更新:创建或更新应用版本。
update_cron:更新应用程序 cron 定义。
update_dos:更新应用程序的 dos 定义。
update_indexes:更新应用程序索引。
update_queues:更新应用程序任务队列定义。
upload_data:将数据记录上传到数据存储区。
vacuum_indexes:从应用程序中删除未使用的索引。
使用“帮助<action>”获取详细说明。

选项:
-h, --help 显示帮助信息并退出。
-q, --quiet 仅打印错误。
-v, --verbose 打印信息级别日志。
--noisy 打印所有日志。
-s 服务器,--服务器=服务器
...
...
...

即使我尝试“appcfg.py help create_bulkloader_config”获取详细说明,它仍然显示相同的标准帮助。

我也尝试在本地开发服务器上使用 url http://127.0.0.1:8888/remote_api,但它仍然提供相同的帮助信息。

我完全不知道问题是什么。我是 GWT 和 GAE 的新手,任何帮助都将不胜感激。

谢谢。

【问题讨论】:

  • 这可能是个愚蠢的问题,但您是在appcfg.py 之前输入python 还是python2.5?例如。 python2.5 appcfg.py ...
  • 您是否尝试重新安装 appengine sdk。
  • 抱歉,回复晚了。这是我在 Stackoverflow 上的第一个问题,我以为我已经为任何新响应配置了通知。但我没有得到任何可能是因为您将它们发布为 cmets。
  • @Adam - 不,我不会那样做。我可以做? @ Abdul - 不,我没有。但我在 Mac 上尝试了完全相同的方法,它奏效了。所以,我假设我的 Windows 上的 appengine sdk 安装有问题。我将尝试重新安装。感谢你们两位的回复。
  • 其实,不;那不应该是必要的。 (我之前没注意到你的 Python 版本是 2.5.4)

标签: google-app-engine gwt google-cloud-datastore


【解决方案1】:

以下修复对我有用。看起来appcfg.py 不喜欢PYTHON27 并且总是返回帮助菜单。我通过使用PYTHON25 执行它并硬编码我所有的文件位置来修复它:

C:\Python25-archive\python "C:\Program Files (x86)\Google\google_appengine\appcfg.py" rollback C:\scripts\myapp

【讨论】:

    【解决方案2】:

    正确的方法是在 Windows 7 上更改环境变量:

    1. 转到系统属性
    2. 转到高级系统设置
    3. 点击环境变量
    4. 将值附加到 Path 变量 C:\Python27\
    5. 单击确定并重新启动计算机。 (是的,它是必需的。)

    另一种方法是:

    1. 打开命令提示符
    2. 找到您的python.exe 文件。例如:

      C:\Python27>_

    3. 然后,运行一个如下所示的 python 命令

      python <appcfg_directory> download_app -A <your_app_id> -V <your_app_version> <output-dir>

    其中 等于 C:\Program Files\Google\google_appengine\appcfg.py。 (取决于您的文件位置)

    别忘了在<appcfg_directory>前后加上引号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 2021-09-16
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多