我的文件被放置在下面的apache共享主机服务器-
/public_html/cgi-bin
--- myenv (directory - virtual env)
--- hello.cgi
--- myapp.py
.htaccess
位于根目录中。
现在,当我激活虚拟环境并运行myapp.py
文件时-
python myapp.py
这样很好。我明白了-
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
但现在,当我尝试在Web浏览器中启动我的页面时,我在日志中得到以下导入错误(在网页上其500 -内部服务器错误)-
'No module named flask'
请建议我是否需要在.cgi
或.py
文件中的任何地方给予flask包的路径。
flask 安装在myenv
:myenv/lib/python2.6/site-packages
myapp.py
档案:
#!/usr/bin/env python
import sys
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello Ejaz"
if __name__ == "__main__":
app.run()
hello.cgi
档案:
#!/usr/bin/env python
import os
from wsgiref.handlers import CGIHandler
from myapp import app
os.environ['SERVER_NAME'] = "www.mypage.com"
os.environ['SERVER_PORT'] = ""
os.environ['REQUEST_METHOD'] = 'GET'
os.environ['PATH_INFO'] = ""
CGIHandler().run(app)
- 谢谢-谢谢
2条答案
按热度按时间6ojccjat1#
您已经在
cgi
文件的第一行指定了system python,而是将其指向virtualenv的python可执行文件。nuypyhwy2#
请参阅此处-http://www.comfycoder.com/home/how_to_deploy_a_flask_app_in_apache_shared_hosting
更新了我的
hello.cgi
到这个-并将这些行添加到
myapp.py
中-它工作正常。