【问题标题】:How to modify pythonpath for a WSGI application in alwaysdata.net如何在 alwaysdata.net 中修改 WSGI 应用程序的 pythonpath
【发布时间】:2011-09-25 09:32:27
【问题描述】:

我使用 Flask 创建了一个小型 Python Web 应用程序,我想将它托管在 alwaysdata.net 中。 我已经在我的子域中安装了 mod_wsgi,但是当我尝试导入我的应用程序的主模块时它失败了,因为它找不到。 所有文件都在 /www 文件夹中。

我应该把我的文件放在其他地方吗?我尝试在我的 .wsgi 文件中包含当前工作目录,但它仍然不起作用。

作为参考,我的 .wsgi 看起来像这样:

import os
import sys
sys.path.append(os.getcwd())
from ngl import app as application

我的应用程序名为 ngl.py,它与 .wsgi 文件位于同一文件夹中。

谢谢!

【问题讨论】:

    标签: python hosting mod-wsgi wsgi flask


    【解决方案1】:

    mod_wsgi 下的当前工作目录不会是 WSGI 脚本所在的位置,因此您不应该使用 os.getcwd()。见:

    http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Working_Directory

    要做你想做的事,使用:

    sys.path.append(os.path.dirname(__file__))
    

    这是通过获取 __file__ 变量中记录的 WSGI 脚本文件名称的目录路径组件来计算 WSGI 脚本文件所在的目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-17
      • 2020-11-15
      • 2023-04-09
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多