我还是Python和GAE的新手。我在本地服务器上有一个运行正常的应用程序。我可以将实体添加到我的数据存储区,我可以查看我的网站等:一切都很好。
现在我正在尝试使用bulkloader将实体添加到我的数据存储区。我按照https://developers.google.com/appengine/docs/python/tools/uploadingdata上的教程进行了操作。我的装载机如下:
from google.appengine.ext import ndb
from google.appengine.tools import bulkloader
import my_model
class ArticleLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'Article',
[('title', str),
('author', str)
])
loaders = [ArticleLoader]
我收到错误:
No module named my_model
有人对此有解决方法吗?
注意:我只使用一个目录。所以我的加载器与导入my_model
模块的其他文件位于同一位置。
答案 0 :(得分:1)
如果PYTHONPATH
未正确设置,也会发生这种情况。如果您使用的是Linux,请在运行Bulkloader之前尝试运行:
export PYTHONPATH=$PYTHONPATH:.
这会将您当前的目录附加到PYTHONPATH
,并且应该使您的my_model
模块可见。由于我的记忆很糟糕而且我总是忘记这样做,所以我最终使用了一个简单的shell脚本,在开头包含了这个脚本,然后是bulkload命令本身。
如果您使用的是Windows,则应该可以使用sys.path.append
修改路径。没有对此进行测试,但您可以尝试将其添加到您的脚本中(请注意,这也适用于Linux):
import sys
# ...
sys.path.append('.')
答案 1 :(得分:0)