【发布时间】:2011-08-14 08:56:42
【问题描述】:
我已经为此苦苦挣扎了好几个小时......
在我的项目中,我在主根目录下的文件夹“project”中定义了我的 models.py。我在“项目”文件夹内的“mapreduce”文件夹中也有 mapreduce 文件。文件系统如下:
主根
-项目文件夹
-> 模型.py
-> Mapreduce 文件夹
我将 mapreduce.yaml 文件定义为:
mapreduce:
- name: Advice_Hidden
mapper:
input_reader: mapreduce.input_readers.DatastoreInputReader
handler: mapreduce.main_map_handler.add_hidden
params:
- name: entity_kind
default: project.models.Advice
但是当我尝试运行 mapreduce 时,我得到了错误:
BadReaderParamsError: Bad entity kind: Could not find 'models' on path 'advice'
谁能帮帮我?还应该注意我也在使用 Django-Piston。
【问题讨论】:
-
你的 app.yaml 在哪里?在“主根”或“项目文件夹”中?如果是前者,您的项目文件夹是否有
__init__.py? -
我的 app.yaml 与 mapreduce.yaml 一起位于主根目录中。是的,我的项目文件夹也有一个 init.py。你认为这可能是我的文件结构吗?我也尝试在根目录下使用 mapreduce 文件夹,但无济于事。
-
您似乎遇到了 mapreduce 如何导入模块的问题。尝试重新排列您的导入,以便
models.py位于顶层之下。如果这解决了它,您应该向 mapreduce 项目提交一个错误。此外,您不应该修改 mapreduce 包 - 将处理程序放在您自己的包中。
标签: python google-app-engine mapreduce