在Eclipse中的Pydev上配置Google App Engine时出错

时间:2012-06-20 15:05:39

标签: eclipse google-app-engine pydev

我正在尝试在Eclipse上配置Google App Engine并使用它在本地运行python应用程序(在本地主机上):

为此我使用以下教程作为指南:

http://www.mkyong.com/google-app-engine/google-app-engine-python-hello-world-example-using-eclipse/

我正确地遵循了这些步骤,但是当我尝试使用配置时,我得到错误,控制台输出是:

控制台输出:

C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ api \ search \ search.py​​:232:UserWarning:不推荐使用DocumentOperationResult._code。请改用OperationResult._code。   '使用OperationResult。%s代替。' %(姓名,姓名))

C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ api \ search \ search.py​​:232:UserWarning:DocumentOperationResult._CODES已弃用。请改用OperationResult._CODES。   '使用OperationResult。%s代替。' %(姓名,姓名))

警告2012-06-20 14:53:01,451 rdbms_mysqldb.py:74] rdbms API不可用,因为无法加载MySQLdb库。

追踪(最近一次通话):   文件" C:\ Program Files(x86)\ Google \ google_appengine \ dev_appserver.py",第126行,在     run_file( file ,globals())

文件" C:\ Program Files(x86)\ Google \ google_appengine \ dev_appserver.py",第122行,在run_file中     execfile(script_path,globals _)

文件" C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver_main.py",第694行,     sys.exit(主(sys.argv中))

文件" C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver_main.py",第582行,主要内容     root_path,{},default_partition = default_partition)

文件" C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py",第3142行,在LoadAppConfig中

引发AppConfigNotFoundError google.appengine.tools.dev_appserver.AppConfigNotFoundError


我使用的配置是:

Windows 7 64位

python 2.7

Eclipse Helios

配置GAE可能存在哪些错误?

附加信息:当我尝试手动使用GAE项目(即使用启动器)时,它可以正常工作


更新

我试验并发现由于工作站和python安装文件夹不在同一目录中,我得到了这些错误

从这里得到提示: 文件 " C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py"

第582行,主要 root_path,{},default_partition = default_partition)

但是当我在同一个分区中创建另一个工作区时,我将其作为控制台输出并且本地主机仍无法正常工作


输出

C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ api \ search \ search.py​​:232:UserWarning:不推荐使用DocumentOperationResult._code。请改用OperationResult._code。

'使用OperationResult。%s代替。' %(姓名,姓名))

C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ api \ search \ search.py​​:232:UserWarning:DocumentOperationResult._CODES已弃用。改为使用OperationResult._CODES。

'使用OperationResult。%s代替。' %(姓名,姓名))

警告2012-06-20 17:20:56,719 rdbms_mysqldb.py:74] rdbms API不可用,因为无法加载MySQLdb库。 为应用程序运行开发应用程序服务器。

dev_appserver.py [options]

应用程序root必须是要在此服务器中运行的应用程序的路径。 必须包含有效的app.yaml或app.yml文件。

选项:

- address = ADDRESS,-a ADDRESS此服务器应绑定到的地址(Defaultlocalhost)。

- clear_datastore,-c在启动时清除数据存储区。 (默认为false)

- debug,-d使用调试日志记录。 (默认为false)

- help,-h查看此有用信息。

- port = PORT,-p PORT服务器运行的端口。 (默认8080)

- allow_skipped_files允许访问app.yaml' s匹配的文件                              skipped_files(默认为False)

- 此应用运行的auth_domain授权域。                              (默认gmail.com)

- 后端运行带有后端支持的dev_appserver                              (多进程模式)。

- blobstore_path = DIR用于存储Blobstore的目录的路径                              文件存根数据。

- clear_prospective_search清除预期搜索订阅索引                              (默认为false)。

- datastore_path = DS_FILE用于存储数据存储文件的文件路径                              存根数据。                            (Defaultc:\用户\ anukoo〜1 \应用程序数据\本地\ TEMP \ dev_appserver.datastore)

- debug_imports启用模块导入的调试日志记录,显示                              用于查找模块的搜索路径和任何                              导入过程中遇到的错误。

- default_partition在APPLICATION_ID中使用的默认分区。                              (默认开发)

- disable_static_caching绝不允许浏览器缓存静态文件。                              (如果在app.yaml中设置了到期时默认启用)

- disable_task_running提供时,任务不会自动执行                              提交后运行,必须手动运行                              在本地管理控制台中。

- enable_sendmail在未配置SMTP时启用sendmail。                              (默认为false)

- high_replication使用高复制数据存储一致性                              模型。 (默认为false)。

- history_path = PATH用于存储数据存储历史记录的路径。                              (默认c:\ users \ anukoo~1 \ appdata \ local \ temp \ dev_appserver.datastore.history)

- multiprocess_min_port在多进程模式下运行时,指定                              选择端口时使用的最低端口值。如果                              设置为0,选择随机端口。                              (默认9000)

- mysql_host = HOSTNAME MySQL数据库主机。                              由Cloud SQL(rdbms)存根使用。                              (默认' localhost')

- mysql_port = PORT要连接的MySQL端口。                              由Cloud SQL(rdbms)存根使用。                              (默认3306)

- mysql_user = USER MySQL用户连接为。                              由Cloud SQL(rdbms)存根使用。                              (默认)

- mysql_password = PASSWORD使用的MySQL密码。                              由Cloud SQL(rdbms)存根使用。                              (默认'')

- mysql_socket = PATH MySQL Unix套接字文件路径。                              由Cloud SQL(rdbms)存根使用。                              (默认'')

- persist_logs启用所有请求和应用程序的存储                              日志以启用以后访问。 (默认为false)。

- require_indexes禁止需要复合索引的查询                              没有在index.yaml中定义。

- show_mail_body记录邮件存根中的电子邮件正文。                              (默认为false)

- skip_sdk_update_check跳过检查SDK更新。如果不对,请退回                              to opt_in .appcfg_nag中指定的设置                              (默认为false)

- smtp_host = HOSTNAME要发送测试邮件的SMTP主机。离开这个                              unset将禁用SMTP邮件发送。                              (默认'')

- smtp_port = PORT发送测试邮件的SMTP端口。                              (默认25)

- smtp_user =用户连接的SMTP用户。 Stub只会尝试                              如果此字段非空,则登录。                              (默认'')。

- smtp_password = PASSWORD SMTP服务器的密码。                              (默认'')

- task_retry_seconds重试之前等待的时间,以秒为单位                              执行后失败的任务。                              (默认' 30')

- use_sqlite使用新的基于SQLite的数据存储区存根。                              (默认为false)

无效的参数


似乎dev_appserver.py的参数不正确任何想法

2 个答案:

答案 0 :(得分:1)

如果你犯了与我相同的错误,那么你的目录名称中有空间的可能性非常高

答案 1 :(得分:0)

可以忽略有关搜索中已弃用事物的警告。如果您不打算使用rdbms API,也可以使用有关rdbms API的消息。

当传递给dev_appserver.py的目录中没有app.yaml时,会发生AppConfigNotFoundError。如果您按照这些说明操作,那么您的app.yaml将位于'src'目录中,并且build命令中的'program arguments'将是$ {project_loc} / src - 这是这种情况吗?当您从命令行运行并看到它工作时,您正在运行什么命令,从哪个位置运行?