如何为我的Google App Engine应用设置PYTHON_PATH变量?

时间:2011-03-31 13:23:50

标签: python google-app-engine

我知道你可以在SDK的首选项中设置它,但我担心在部署应用程序时它不正确。 Google云端的PYTHON_PATH价值是多少?我可以设置吗?

向后迈出一步,我只想做到:

from something import something_else

我的应用无法解析此引用,这是导致我尝试获取PYTHON_PATH的原因。

1 个答案:

答案 0 :(得分:1)

部署代码后,无需执行任何操作即可访问所有受支持的库。为了将特定于应用程序的目录添加到路径中,您需要在处理程序内以编程方式执行此操作。我使用这样的模式:

paths = [
    os.path.join(os.path.dirname(__file__), 'mylib'),
    os.path.join(os.path.dirname(__file__), 'app', 'tags'),
    os.path.join(os.path.dirname(__file__), 'app', 'controllers'),
    os.path.join(os.path.dirname(__file__), 'app', 'common'),
    os.path.join(os.path.dirname(__file__), 'app', 'models'),
    os.path.join(os.path.dirname(__file__), 'app')
]
for path in paths:
    if os.path.exists(path):
        # Don't add paths that don't exist.
        sys.path.append(path)

如果您发现导入不属于您的应用程序的模块时出现问题,则可能是AppEngine不支持该模块。有关详细信息,请参阅the docs

编辑: 每个人都有点不同地构建他们的AppEngine应用程序,但通常,您需要在每个.py文件的主入口点都有此代码,该文件在app.yaml中列为处理程序。通常,处理程序文件将具有如下内容:

def main():
    # Do all of my initialization and run my
    # WSGIApplication

if __name__ == "__main__":
    main()

你可以在main()函数中输出路径设置代码。