apache “没有名为flank的模块”,当我通过URL运行时

ie3xauqp  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(132)

我的文件被放置在下面的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 安装在myenvmyenv/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)
  • 谢谢-谢谢
6ojccjat

6ojccjat1#

您已经在cgi文件的第一行指定了system python,而是将其指向virtualenv的python可执行文件。

nuypyhwy

nuypyhwy2#

请参阅此处-http://www.comfycoder.com/home/how_to_deploy_a_flask_app_in_apache_shared_hosting
更新了我的hello.cgi到这个-

#!/usr/bin/env python

import os
from wsgiref.handlers import CGIHandler
from myapp import app

CGIHandler().run(app)

并将这些行添加到myapp.py中-

import os
import sys
sys.path.insert(0, '/home/username/public_html/cgi-bin/myenv/lib/python2.6/site-packages')

它工作正常。

相关问题