2

我正在关注以下网站上的应用引擎移动后端教程: 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 Place

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

请帮忙!!

4

2 回答 2

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

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

于 2013-12-28T20:50:31.100 回答
0

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

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

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

于 2013-11-01T16:04:15.900 回答