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

0 投票
1 回答
1234 浏览
提问于 2025-04-16 14:48

我知道你可以在SDK的设置里调整这个,但我担心在应用上线后会出问题。那在谷歌云上,PYTHON_PATH的值是什么呢?我可以自己设置这个吗?

回到前面一步,我只是想做到:

from something import something_else

我的应用无法找到这个引用,这就是我想要获取PYTHON_PATH的原因。

1 个回答

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上不被支持。想了解更多信息,可以查看文档

补充说明:每个人的AppEngine应用结构可能会有些不同,但通常来说,你需要在每个在app.yaml中列为处理程序的.py文件的主入口点放置这段代码。一般来说,一个处理程序文件会包含类似这样的内容:

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

if __name__ == "__main__":
    main()

你可以把设置路径的代码放在main()函数里面。

撰写回答