Oli*_*ver 8 python apache mod-wsgi flask
我在错误日志中得到这个:
ImportError:没有名为flask的模块
它看起来就像在Django + mod_wsgi + apache:/ Error模块中的ImportError名为djproj.urls,但是我尝试了这个解决方案,它似乎不起作用...我正确地将app home和parent文件夹插入到系统路径,但这个错误仍然存在.
导航到我的页面仍然会显示500页.
更多信息:我正在使用Amazon EC2免费套餐,以httpd形式使用Apache.一切都安装正确,我很确定......
这是我的东西(应用程序名称badassery和应用程序主文件夹名称hatemail - 我改变了我的想法):
错误日志
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Target WSGI script '/home/ec2-user/hatemail/badassery.wsgi' cannot be loaded as Python module.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Exception occurred processing WSGI script '/home/ec2-user/hatemail/badassery.wsgi'.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] Traceback (most recent call last):
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] File "/home/ec2-user/hatemail/badassery.wsgi", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] from badassery import app as application
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] File "/home/ec2-user/hatemail/badassery.py", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] from flask import Flask, request, session, url_for, redirect, render_template, abort, g, flash, _app_ctx_stack
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] ImportError: No module named flask
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Target WSGI script '/home/ec2-user/hatemail/badassery.wsgi' cannot be loaded as Python module.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Exception occurred processing WSGI script '/home/ec2-user/hatemail/badassery.wsgi'.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] Traceback (most recent call last):
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] File "/home/ec2-user/hatemail/badassery.wsgi", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] from badassery import app as application
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] File "/home/ec2-user/hatemail/badassery.py", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] from flask import Flask, request, session, url_for, redirect, render_template, abort, g, flash, _app_ctx_stack
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] ImportError: No module named flask
Run Code Online (Sandbox Code Playgroud)
import sys
sys.path.insert(0,'/home/ec2-user/hatemail')
sys.path.insert(1,'/home/ec2-user')
from badassery import app as application
Run Code Online (Sandbox Code Playgroud)
添加到httpd.conf文件
WSGISocketPrefix /var/run/wsgi
<VirtualHost *:80>
ServerName 54.243.61.41
DocumentRoot "/home/ec2-user/hatemail"
WSGIDaemonProcess badassery user=apache group=apache processes=1 threads=5
WSGIScriptAlias / /home/ec2-user/hatemail/badassery.wsgi
WSGIScriptReloading On
<Directory /home/ec2-user/hatemail>
WSGIProcessGroup badassery
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
目录结构
~
hatemail
badassery.py
badassery.wsgi
Procfile
README
requirements.txt
schema.sql
static/
templates/
venv/bin/activate
Run Code Online (Sandbox Code Playgroud)
是的,我正在"如果名字 =='主':app.run()".
我该如何解决这个问题?
api*_*guy 13
如果您正在部署virtualenv,则必须首先确保将其激活.您应该像这样更新您的wsgi文件(更新值以匹配您的环境):
activate_this = '/path/to/virtualenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this)
import sys
sys.path.insert(0, '/path/to/flask/appname')
sys.path.insert(0,'/home/ec2-user/hatemail')
sys.path.insert(1,'/home/ec2-user')
from badassery import app as application
Run Code Online (Sandbox Code Playgroud)
如果您没有部署virtualenv,您可能只需要确保在系统上安装了Flask.如果你已经安装了,setuptools你可以:
easy_install flask
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9978 次 |
| 最近记录: |