【问题标题】:Google App Engine appcfg.py raising Value ErrorGoogle App Engine appcfg.py 引发值错误
【发布时间】:2013-10-31 16:04:15
【问题描述】:

我正在关注以下网站上的 app-engine 移动后端教程: https://cloud.google.com/resources/articles/how-to-build-mobile-app-with-app-engine-backend-tutorial

我正在 Windows 8 机器上开发并使用 Java 7 64 位

我已将 app-engine-sdk-1.8.6 作为 Eclipse 插件安装,并将 GAE_SDK_ROOT 环境变量设置为: E:\android-sdk\adt-bundle-windows-x86_64-20130917\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.8.6\appengine-java-sdk-1.8.6

令我惊讶的是,上面的安装目录中没有python文件。我不得不手动下载appcfg.py。

本教程使用upload_data.sh 文件将数据上传到数据存储区。我在Windows 上开发时使用的是等效的批处理文件upload_data.bat,其内容如下:

python appcfg.py upload_data --config_file bulkloader.yaml --url="http://localhost:8888/remote_api" --filename $1 --kind=$2 -e nobody@nowhere.com

当我运行批处理文件时,我收到以下错误:

E:\AppEngineExample\UploadScript>upload_data.bat places.csv 地点

E:\AppEngineExample\UploadScript>python appcfg.py upload_data --config_file bulkloader.yaml
 --url="http://localhost:8888/remote_api" --filename $1 --kind=$2 -e nobody@nowhere.com
Traceback (most recent call last):
  File "appcfg.py", line 90, in <module>
    DIR_PATH = get_dir_path(os.path.join('lib', 'ipaddr'))
  File "appcfg.py", line 70, in get_dir_path
    'directory' % gae_sdk_root)
ValueError: GAE_SDK_ROOT 'E:\\android-sdk\\adt-bundle-windows-x86_64-20130917\\eclipse\\plugins\\com.google.appengine.eclipse.sdkbundle_1.8.6\\appengine-java-sdk-1.8.6' does not refer to a valid SDK directory

请帮忙!!

【问题讨论】:

标签: java android google-app-engine


【解决方案1】:

我在类似环境(Windows 8.1,Java 7 64 位)中遵循相同的教程。

在同一个问题上苦苦挣扎后*捆绑的应用引擎 SDK 的 appcfg.cmd 脚本中没有可用的 upload_data 参数*,我决定安装 Python 2.7 和独立的应用引擎 SDK(在此处下载) :https://developers.google.com/appengine/downloads)。

在此独立安装中,有 appcfg.py 文件(位于安装文件夹的根目录中,我已将其添加到路径中)。在此之后,我创建了以下 windows bat 文件以使上传成功运行:

@echo off
appcfg.py upload_data --config_file bulkloader.yaml --url=http://localhost:8888/remote_api --filename=%1 --kind=%2 --email=nobody@nowhere.com

使用以下命令在 MobileAssistant-Data 目录中运行此脚本:

upload_data.bat places.csv Place

我现在继续教程,让我们看看还有什么障碍;)

【讨论】:

【解决方案2】:

GAE 有多个 SDK/运行时,其中包括 python 和 java。 appcfg.py 它是 python 运行时的工具。

eclipse 插件 SDK 下载 java SDK/runtime。您使用 appcfg.cmd 而不是 appcfg.py

针对 Java SDK 运行 appcfg.py 将不起作用。

【讨论】:

  • 你是对的!但是如何使用 appcfg.cmd 将数据从 excel 工作表上传到数据存储区,如上面的教程所示。Appcfg.cmd 不采用 upload_data 作为论据。
猜你喜欢
  • 2013-07-10
  • 2019-01-19
  • 1970-01-01
  • 2011-02-23
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多