1

我正在尝试从终端(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 脚本?如果是这样,你是怎么做到的/我做错了什么?

4

1 回答 1

4

常见问题,第一次让我很沮丧。如果您开始自己追逐所有各种进口,您最终会走上一条似乎没有逻辑的科学怪人之路。然后我终于读到了 GAE SDK 是如何自己做的。将 GAE 添加到以下文件后,在文件顶部尝试此操作PYTHONPATH

import dev_appserver
dev_appserver.fix_sys_path()

祝你好运!

于 2013-02-18T00:43:00.237 回答