passenger_wsgi.py与Django不兼容
我在Dreamhost上托管我的Django应用。Dreamhost提供的是Django-1.2.1和Python-2.5.2,但我在我的应用中使用的是Django-1.3.1和Python-2.7.2。
在我做任何更改之前,passenger_wsgi.py文件里是这样的:
import sys, os
sys.path.append(os.getcwd())
sys.path.insert(1, '/home/username/example.com/projects')
os.environ['DJANGO_SETTINGS_MODULE'] = "projectname.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
应用可以运行,但因为Django版本太旧,有些模块缺失。
所以我在/home/username/opt/Python-2.7.2上安装了python-2.7.2,然后用pip工具在上面安装了Django-1.3.1。
接着我对passenger_wsgi.py做了一些修改,让应用可以在python-2.7.2上运行,修改后的内容是这样的:
import sys, os
# makes sure the interpreter executable is python2.7
INTERP = os.path.join(os.environ['HOME'], 'opt', 'Python-2.7.2', 'bin', 'python2.7')
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
sys.path.insert(1, '/home/username/example.com/projects')
os.environ['DJANGO_SETTINGS_MODULE'] = "projectname.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
当我再次尝试运行代码时,出现了以下错误:
导入你的passenger_wsgi.py时发生了错误
有人能帮忙吗??
1 个回答
0
我找到了问题所在。原来是我没有安装mysql-python这个模块,导致在运行项目时,当程序到达与数据库配置相关的部分(在setting.py文件中)时就崩溃了。