为什么我们需要在Bottle + uWSGI中指定绝对路径?

时间:2012-11-28 10:22:54

标签: python nginx uwsgi bottle

我正在开发一个Bottle应用程序。 我的程序从配置(.cfg)文件中读取配置,也使用模板(.tpl)文件。

但是当我使用uWSGI在nginx上托管我的应用程序时,它无法找到文件(给定项目的相对路径)

可能的解决方案是什么?

1 个答案:

答案 0 :(得分:4)

不使用相对路径,而是根据当前模块路径存储绝对路径:

MODULEPATH = os.path.dirname(__file__)

template = open(os.path.join(MODULEPATH, 'templates/sometemplate.tpl').read()

__file__是当前模块的文件名,os.path.dirname(__file__)是模块所在的目录。

你永远不应该依赖Python代码中的相对路径;运行python程序时不会更改当前工作目录。