Google App Engine - 终端脚本

时间:2013-02-18 00:38:00

标签: google-app-engine import terminal

我正在尝试从终端(Mac OS)运行我的一些python脚本,并且我遇到了导入错误。 例如,如果我尝试导入main,我会得到以下内容:

ImportError: No module named webapp2

如果我尝试导入模型脚本,我会得到以下内容:

ImportError: No module named yaml

我的.bash_profile有这个PYTHONPATH设置 -

export GAE="/usr/local/google_appengine"
export PYTHONPATH="$PYTHONPATH:$GAE:$GAE/lib/django_1_4:$GAE/lib/:$GAE/lib/yaml"

我也试过这种方法:

import os
import sys

DIR_PATH = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
# ...

EXTRA_PATHS = [
          DIR_PATH,
          os.path.join(DIR_PATH, 'lib', 'antlr3'),
          os.path.join(DIR_PATH, 'lib', 'django'),
          os.path.join(DIR_PATH, 'lib', 'fancy_urllib'),
          os.path.join(DIR_PATH, 'lib', 'ipaddr'),
          os.path.join(DIR_PATH, 'lib', 'webob'),
          os.path.join(DIR_PATH, 'lib', 'yaml', 'lib'),
]
# ...
sys.path = EXTRA_PATHS + sys.path

然后我在尝试导入其他GAE脚本之前导入该脚本,但它仍然不起作用。任何人都有他们的终端设置运行他们的GAE脚本?如果是这样,你怎么做/我做错了什么?

1 个答案:

答案 0 :(得分:4)

常见问题,第一次对我非常沮丧。如果你开始自己追逐各种各样​​的进口,那么你将会看到一条似乎没有逻辑的frakenstein路径。然后我终于阅读了GAE SDK如何做到这一点。将GAE添加到PYTHONPATH

后,请在文件顶部尝试此操作
import dev_appserver
dev_appserver.fix_sys_path()
祝你好运!