如何在alwaysdata.net中修改WSGI应用程序的pythonpath

nic*_*mgl 4 python hosting mod-wsgi wsgi flask

我使用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
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Gra*_*ton 12

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

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

要做你想做的事,请使用:

sys.path.append(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)

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