我知道你可以在SDK的首选项中设置它,但我担心在部署应用程序时它不正确。 Google云端的PYTHON_PATH价值是多少?我可以设置吗?
向后迈出一步,我只想做到:
from something import something_else
我的应用无法解析此引用,这是导致我尝试获取PYTHON_PATH的原因。
答案 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()函数中输出路径设置代码。