Google app engine 使用终端的谷歌应用引擎交互控制台

Google app engine 使用终端的谷歌应用引擎交互控制台,google-app-engine,console,interactive,Google App Engine,Console,Interactive,以下是本页的说明: 我编辑了app.yaml以包含以下行: builtins: - remote_api: on 我打开了一个终端: $ cd /path/to/app $ python2.5 /usr/local/google_appengine/remote_api.shell.py\ -s localhost:8082 -p /_ah/remote_api 在我的应用文件夹结构的根目录下,我有一个名为foobar.py的模块,以及一个名为data\u model

以下是本页的说明:

我编辑了
app.yaml
以包含以下行:

builtins:
- remote_api: on
我打开了一个终端:

$ cd /path/to/app
$ python2.5 /usr/local/google_appengine/remote_api.shell.py\
            -s localhost:8082 -p /_ah/remote_api
在我的应用文件夹结构的根目录下,我有一个名为
foobar.py
的模块,以及一个名为
data\u models
的包。在获得对
remote_api
Python解释器的访问权限后,我尝试以下几行:

import foobar
import data_models
但我有一个错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named foobar

Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named data_models

似乎远程_api的路径与您的应用程序的路径不同,因此它与远程_api的路径不同,因此您的应用程序的代码不可用

remote_api
仅允许从本地任务对应用程序引擎应用程序的远程实例进行RPC调用。Python控制台本身仍然是本地的,您所做的一切都在本地执行。这意味着您尝试和导入的任何模块都必须存在于您的本地计算机上,在您的Python实例可以找到它们的地方-可能通过将您的应用程序目录添加到
PYTHONPATH
,如下所示:

$ PYTHONPATH=/my/app/dir python2.5 /usr/local/google_appengine/remote_api.shell.py\
        -s my-app.appspot.com -p /_ah/remote_api

我在
.bash\u配置文件中添加了以下几行,这样我就不必每次启动终端时都编辑
PYTHONPATH

PYTHONPATH = "/path/to/app"
export PYTHONPATH

我还没有尝试过你的解决方案,但是,只是一个评论:我从
/my/app/dir
(或者在我的示例中是
/path/to/app
)运行
python2.5
,这不是意味着Python将首先搜索该文件夹吗?@Kit No-Python的PYTHONPATH不包括当前目录。
PYTHONPATH = "/path/to/app"
export PYTHONPATH