Google App Engine appcfg.py引发了价值错误

时间:2013-10-31 16:04:15

标签: java android google-app-engine

我正在关注以下网站上的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-束 - 窗口x86_64-20130917 \蚀\插件\ 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

请帮助!!

2 个答案:

答案 0 :(得分: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

我现在正在继续教程,让我们看看未来还有哪些障碍;)

答案 1 :(得分:0)

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

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

针对Java SDK运行appcfg.py将无效。