如何为我的Google App Engine应用设置PYTHON_PATH变量?
我知道你可以在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()函数里面。