Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';没有名为flask';的模块;,当我浏览URL时_Python_Apache_Flask - Fatal编程技术网

Python ';没有名为flask';的模块;,当我浏览URL时

Python ';没有名为flask';的模块;,当我浏览URL时,python,apache,flask,Python,Apache,Flask,我的文件如下所示放置在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) 但是

我的文件如下所示放置在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浏览器中启动我的页面时,我在日志中得到下面的导入错误(在web页面上是500-内部服务器错误)-

请建议我是否需要在
.cgi
.py
文件中的任何位置提供烧瓶包的路径

烧瓶安装在
myenv
myenv/lib/python2.6/站点软件包中

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()
#!/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)
hello.cgi
文件:

#!/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()
#!/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)

谢谢。

您已经在
cgi
文件的第一行指定了系统python。相反,请将其指向virtualenv的python可执行文件。

请参阅此处-

将我的
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') 

它工作正常。

我的虚拟环境中没有安装python。我只是在虚拟环境中安装了flask和sqlalchemy。它是否仍然不起作用?